我有一个像"
的观点def MyView(request):
SendMyMail(args)
我的SendMymail是:
def SendMymail(args):
send_mail(title, content, sender, receiver)
如果有这么多消息,我想在消息发送过程中排队。我已经浏览了芹菜的文件,并了解了基地。
我在很多例子中看到人们正在创建task.py文件,他们用句点定义任务。我想知道在那里写什么。
任何人都可以给我一个明确的例子,我如何完成发送多封电子邮件
答案 0 :(得分:1)
好的,我会给你一个例子来帮助你。使用celery发送邮件异步。
def my_view(request):
from tasks import celery_send_mail
user = request.user
<some_stuff>
celery_send_mail.delay(user.email)
<keep_going>
return render(request)
然后在tasks.py
中@celery_app.task(ignore_result=True)
def celery_send_email(email):
<send_your_mail>
要使用celerybeat,您可以将任务设置为定期从celery.conf文件运行,或使用第三方应用程序来帮助,我使用django-celery,因为您可以从管理员设置定期任务。