Django でのバックグラウンドジョブと非同期処理。
pip install celery redis
from celery import shared_task
@shared_task
def send_email(recipient):
# メール送信ロジック
pass
celery -A myapp worker -l info
send_email.delay(recipient) # すぐにキューに追加、非同期実行
from celery.schedules import crontab
app.conf.beat_schedule = {
'send-report-daily': {
'task': 'app.tasks.send_report',
'schedule': crontab(hour=9, minute=0),
},
}
詳細については、ドキュメントを参照してください。