これで、Django-celeryを正常にセットアップして、既存のタスクの後でチェックし、タスクの期限が来たときにユーザーに電子メールで通知するようになりました。
@periodic_task(run_every=datetime.timedelta(minutes=1))
def check_for_tasks():
tasks = mdls.Task.objects.all()
now = datetime.datetime.utcnow().replace(tzinfo=utc,second=00, microsecond=00)
for task in tasks:
if task.reminder_date_time == now:
sendmail(...)
これまでのところ良いですが、リマインダーとしてユーザーにポップアップも表示したい場合はどうなりますか?
Twitterブートストラップを使用すると、ポップアップを作成してjavascriptから表示できます。
$(this).modal('show');
問題は、セロリワーカーデーモンがユーザーのブラウザでこのJavaScriptをどのように実行できるかということです。多分私は完全に間違った道を進んでいて、これはまったく不可能です。したがって、ブラウザでUI通知を実行するために、セロリのcronジョブを使用できるかどうかという疑問が残ります。