python - 优雅地停止 celery 任务

标签 python celery django-celery celery-task

我想优雅地退出 celery 任务(即不是通过调用 revoke(celery_task_id, terminate=True))。我想我会向设置标志的任务发送一条消息,以便任务函数可以返回。与任务沟通的最佳方式是什么?

最佳答案

为此使用信号。 Celery 的revoke正确的选择;它默认使用 SIGTERM,但您可以 specify another如果您愿意,可以使用 signal 参数。

只需在您的任务中为其设置一个信号处理程序(使用 signal module )即可优雅地终止任务。

关于python - 优雅地停止 celery 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16493364/

相关文章:

python - Pydev 中的 Django 会产生多个进程?

python - 跟踪 Django 包更新

python - 如何对 tkinter "scrolledtext"模块进行编码

python - 获取失败的 django-celery 任务的参数

python - 使用 Django 1.7.1、Python 3.4 和 Celery 3.1 时,模块没有属性 "celery"

python - 更改 Django 的 ROOT_URLCONF

用于动态 header 的 Python CSV 编写器

python - Django Celery 缓存锁不起作用?

python - Django - Celery 连接被拒绝

python - 在 Django 中使用 celerybeat 本地设置的正确方法是什么?