【问题标题】:How the user of my Django app can create "customized" tasks?我的 Django 应用程序的用户如何创建“自定义”任务?
【发布时间】:2014-11-01 21:58:56
【问题描述】:

我是 Celery 的新手,我完全不知道如何做我需要的事情。我已经看到如何自己创建任务并更改 Django 的文件 settings.py 以安排它。但我想允许用户创建“自定义”任务。

我有一个 Django 应用程序,它应该让用户有机会创建他们需要的产品(收集天气信息的文件)并以他们选择的频率向他们发送电子邮件。

我有一个数据库,其中包含每个产品的参数,例如地理时间、其他参数和频率。我还有一个将产品发送给用户的脚本 sendproduct.py

现在,我怎样才能简单地为每个产品创建一个任务,用户创建了一个任务,用给定的参数和给定的频率执行我的脚本?

【问题讨论】:

    标签: python django task customization celery


    【解决方案1】:

    您知道如何创建和执行任务,因此很容易让客户创建任务。

    您可以创建一个简单的表单来从用户那里获取所需的信息。您还可以有一个个人资料页面或一些可以显示用户偏好的页面。

    上面的表格有助于从用户那里获取数据(比如他需要多久接收一次电子邮件)。提交表单后,您可以异步触发一个任务,该任务将处理并向客户发送电子邮件。

    【讨论】:

    • 我已经制作了这样的表格,并将用户的信息存储在我的数据库中。我的问题是(我知道我听起来有点困惑):我应该只创建一个任务来浏览我的数据库并在正确的时间为我的用户的每个产品发送电子邮件,还是可以编写一个自动创建的脚本每个产品创建时的任务?在实践中,我应该做一个 Celery 任务还是与产品一样多的 Celery 任务?
    • 感谢您的回答!
    • 没有必要像产品一样创建那么多的 celery 任务。只有一项 celery 任务可以完成这项工作。
    猜你喜欢
    • 2021-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-30
    • 2012-11-24
    • 2014-11-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多