如何启动和停止Django的芹菜节拍和工人



我每隔30秒从API获取一些数据,并定期插入mongoDB。因此,我在后台使用芹菜进行处理。celery.py如下:

@app.on_after_configure.connect
def setup_periodic_tasks(sender, **kwargs):
from example.tasks import API
sender.add_periodic_task(30, API.s(), name='Api')

我的任务如下:

@shared_task
def API():
data=request.get(url).json()
db.collectionName.insert_many(data)

然后,我使用两个命令定期在后台运行任务:

celery -A DjangoCelery1 beat -l info
celery -A DjangoCelery1 worker -l info

一切正常,数据从API获取并保存在MongoDB中。现在,我想通过按下网页上的按钮来启动和停止所有正在运行的任务。

我该怎么办?

我在这个页面上找到了答案:https://realpython.com/asynchronous-tasks-with-django-and-celery/#reader-评论

相关内容

  • 没有找到相关文章

最新更新