【问题标题】:Running celery in django not as an external process?在 django 中运行 celery 不是作为外部进程?
【发布时间】:2012-02-19 14:47:32
【问题描述】:

我想试试芹菜。我对一种安排类似 crontab 的任务的简单方法很感兴趣,类似于 Spring 的石英。

我从 celery 的文档中看到它需要将 celeryd 作为守护进程运行。有没有办法避免运行另一个外部进程并简单地运行嵌入在我的 django 实例中的这个?由于我目前对分发工作不感兴趣,所以我宁愿保持简单。

【问题讨论】:

  • 您正在尝试使用 celery-django 找到通过python manage.py celeryd 启动的方法?我不相信有任何这样的选择。
  • ...不要忘记python manage.py celerybeat 如果您也关心您的定期任务...

标签: python django celery django-celery


【解决方案1】:

在您的 django 设置文件中添加 CELERY_ALWAYS_EAGER=True 选项,您的所有任务都将在本地执行。似乎对于您必须执行 celery beat 的周期性任务。

【讨论】:

  • 这使得任务同步发生,并且似乎失去了我希望的整体效果......但是谢谢!
  • 您可以尝试将 celeryd 作为一个进程与 runserver 一起执行,例如,从您的代码中使用 manage.py functionality
猜你喜欢
  • 2021-12-16
  • 2016-10-07
  • 2013-06-14
  • 2014-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-31
  • 2016-09-20
相关资源
最近更新 更多