Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从django';她要求在芹菜中进行定期任务吗?_Python_Django_Web Applications_Celery - Fatal编程技术网

Python 如何从django';她要求在芹菜中进行定期任务吗?

Python 如何从django';她要求在芹菜中进行定期任务吗?,python,django,web-applications,celery,Python,Django,Web Applications,Celery,我有一个关于如何从Django运行args并将其传递给芹菜任务的问题 我想要的是: 1从提交的表单中获取关键字(hashtagName) 2将名称发送给定期任务,以每30秒在页面上显示其计数 问题: 我不清楚这应该如何运行。我应该运行: python manage.py runserver在一个终端中 和python manage.py芹菜工人-B 在另一个终端窗口上使两个服务同时运行 如果这是正确的方法,我如何将值从Django传递到芹菜任务?因为任务将在我发出第二个命令后立即启动 PS:我通

我有一个关于如何从Django运行args并将其传递给芹菜任务的问题

我想要的是:

1从提交的表单中获取关键字(
hashtagName

2将名称发送给定期任务,以每30秒在页面上显示其计数

问题:

我不清楚这应该如何运行。我应该运行:
python manage.py runserver
在一个终端中 和
python manage.py芹菜工人-B
在另一个终端窗口上使两个服务同时运行

如果这是正确的方法,我如何将值从Django传递到芹菜任务?因为任务将在我发出第二个命令后立即启动

PS:我通读了芹菜文档,关于的部分对我的问题没有帮助,因为我函数的参数来自用户输入

谢谢

更新: 正如下面的回答中提到的,我应该开始一项芹菜任务来收集数据。如果这是正确的方法,我应该如何启动工人?我仍然不清楚如何同时启动芹菜工人和django服务器

我应该像在终端中一样运行命令吗

$芹菜-项目工人-l信息

python manage.py runserver

然后像调用
taskfunction().delay
一样在view函数中调用?

这不是芹菜的工作。这适用于后台任务,您可以触发这些任务,这些任务可以独立完成—复杂的处理、繁重的api调用等


这里您所需要的只是每30秒刷新一次页面上的信息。这最好是从浏览器本身完成的——可能是使用带有setTimeout的JavaScript,或者触发一个完整页面请求,或者通过Ajax加载一些部分内容。

这似乎是解决这个问题的完全错误的方法

您应该在客户端处理此定期更新,在需要时发出新数据的AJAX请求


您向常规django视图发出请求,每次都传递所需的用户输入。

谢谢您的回复。现在,据我所知,这个问题应该通过以下方法来解决:1)创建芹菜任务来接受请求中的args以收集数据;2) 编写一个普通的django视图函数来显示结果。显示时,前端每30秒发送一次请求;所以我在哪里用芹菜的问题上是错误的,而不是“我应该用芹菜吗?”。这是一个正确的结论吗?你只会用芹菜来安排一些昂贵的长时间运行的任务。这就是你想要监控的东西的本质吗?我想是的,我正在使用twitter的流式api监控一些KeyWorks的外观。当该关键字出现时会发生什么?当该关键字出现时,更新数据库中的对应计数,并继续监听,直到设置为停止。如另一个答案所述,我应该用芹菜来监控,而不是把数据发送到前端。谢谢你的回复!