【发布时间】:2014-09-12 14:09:33
【问题描述】:
我有一个关于如何从 Django 运行并将 args 传递给 celery 任务的问题。
我想要什么:
1 从提交的表单中获取关键字(hashtagName)
2 将名称发送到周期性任务,以每 30 秒在页面上显示其计数。
问题:
我不清楚这应该如何运行。我应该运行:
python manage.py runserver在一个终端
和python manage.py celery worker -B
在另一个终端窗口上让两个服务同时运行?
如果这是正确的方法,我如何将值从 Django 传递给 celery 任务?因为任务将在我的第二个命令后立即开始。
PS:我通读了 celery 文档,关于 periodic task 的部分对我的问题没有帮助,因为我的函数的参数来自用户输入。
谢谢!
更新:
正如下面的答案中提到的,我应该开始一个芹菜任务来收集数据。如果这是正确的方法,我应该如何启动工人?我仍然不清楚如何同时启动 celery worker 和 django 服务器。
我应该在终端中运行命令吗
$ celery -A proj worker -l info
python manage.py runserver
并在视图函数中调用taskfunction().delay?
【问题讨论】:
标签: python django web-applications celery