【问题标题】:How can I use djcelery.schedulers without Django project?如何在没有 Django 项目的情况下使用 djcelery.scheduler?
【发布时间】:2016-11-17 04:36:59
【问题描述】:

我想对 celery 使用动态调度程序管理。我知道 djcelery 具有数据库支持的功能。 但目前我不使用 Django,而是使用 Flask。我找不到 djcelery.schedulers 的 Flask 项目或实现。

是否可以在没有 Django 的情况下使用 djcelery 并实现动态调度管理系统?

【问题讨论】:

  • 当你说“动态调度器管理”时,你是什么意思?在运行时更改任务集?这听起来像 [stackoverflow.com/questions/10194975/….
  • 是的,我的意思是这样的问题。具体来说,我想通过 API 将带有参数和运行时的任务添加到 celery,并通过 API 删除该任务。

标签: python django flask celery djcelery


【解决方案1】:

简短回答:不,但是...

你必须使用 django。调度程序的条目是 django 模型的实例,因此您必须以某种方式设置 djcelery 应用程序(请参阅此代码:https://github.com/celery/django-celery/blob/master/djcelery/schedulers.py)而且您将没有管理界面来添加调度程序的条目。

这只是一个猜测,但您可以尝试单独设置 django 的 ORM 并同步 djcelery 的模型。 (见:Use Django ORM as standalone

你也可以按照 djcelery/schedulers.py 的结构实现自己的调度器

另见:Can celery celerybeat use a Database Scheduler without Django?

【讨论】:

  • 谢谢,我会尝试用 SQLAlchemy 替换 djcelery 的 Django ORM。如果你知道 djcelery 的 SQLAlchemy 项目,请告诉我。
【解决方案2】:

您可以查看此flask-djcelery。它用flask配置djcelery,允许使用django admin,还提供一个可浏览的rest api来管理任务。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-21
    • 2012-10-28
    • 2021-12-05
    • 2012-04-17
    • 2017-12-22
    • 1970-01-01
    • 1970-01-01
    • 2016-01-15
    相关资源
    最近更新 更多