django芹菜发送多封电子邮件

时间:2015-06-09 18:10:40

标签: python django celery

我有一个像"

的观点
def MyView(request):
    SendMyMail(args)

我的SendMymail是:

def SendMymail(args):
    send_mail(title, content, sender, receiver)

如果有这么多消息,我想在消息发送过程中排队。我已经浏览了芹菜的文件,并了解了基地。

我在很多例子中看到人们正在创建task.py文件,他们用句点定义任务。我想知道在那里写什么。

任何人都可以给我一个明确的例子,我如何完成发送多封电子邮件

1 个答案:

答案 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,因为您可以从管理员设置定期任务。