mirror of
https://github.com/zulip/zulip.git
synced 2025-11-03 13:33:24 +00:00
deliver_scheduled_emails: Add a try/except KeyboardInterrupt.
This makes explicit ^C's to exit not spew a backtrace.
This commit is contained in:
committed by
Tim Abbott
parent
c541276ab3
commit
dfe3727b6d
@@ -33,19 +33,22 @@ Usage: ./manage.py deliver_scheduled_emails
|
||||
"""
|
||||
|
||||
def handle(self, *args: Any, **options: Any) -> None:
|
||||
while True:
|
||||
with transaction.atomic():
|
||||
job = (
|
||||
ScheduledEmail.objects.filter(scheduled_timestamp__lte=timezone_now())
|
||||
.prefetch_related("users")
|
||||
.select_for_update(skip_locked=True)
|
||||
.order_by("scheduled_timestamp")
|
||||
.first()
|
||||
)
|
||||
if job:
|
||||
try:
|
||||
deliver_scheduled_emails(job)
|
||||
except EmailNotDeliveredException:
|
||||
logger.warning("%r not delivered", job)
|
||||
else:
|
||||
time.sleep(10)
|
||||
try:
|
||||
while True:
|
||||
with transaction.atomic():
|
||||
job = (
|
||||
ScheduledEmail.objects.filter(scheduled_timestamp__lte=timezone_now())
|
||||
.prefetch_related("users")
|
||||
.select_for_update(skip_locked=True)
|
||||
.order_by("scheduled_timestamp")
|
||||
.first()
|
||||
)
|
||||
if job:
|
||||
try:
|
||||
deliver_scheduled_emails(job)
|
||||
except EmailNotDeliveredException:
|
||||
logger.warning("%r not delivered", job)
|
||||
else:
|
||||
time.sleep(10)
|
||||
except KeyboardInterrupt:
|
||||
pass
|
||||
|
||||
Reference in New Issue
Block a user