问题标签 [djcelery]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
222 浏览

celery - django celery 队列路由不起作用

我有两个任务。任务“heavy_task”需要并发 1,“lite_task”需要并发 4

我在我的 settings.py 文件中定义了路由:

我尝试以这种方式执行指定并发的两个工作人员

当第一次调用任务heavy_task工作正常并且并发工作时,但是在调用任务lite_task之后,队列的并发性发生了重大变化。

我试试这个:

而当我执行任务heavy_task时,路由将不起作用,任务也不会执行。

但如果使用这个:

一切正常,但我一次只能执行一个任务,并且我需要能够以 1 的并发执行重任务和以 3 的并发执行 lite_task

任何建议

0 投票
0 回答
865 浏览

redis - 芹菜任务错误无限循环

我在我的 DJANGO 应用程序中使用 celery 时遇到问题。当任务出错时,任务进入循环并重新开始而不是完成任务 我的任务从数据库运行存储过程。在存储过程中,如果有任何错误,我会发送电子邮件并退出存储过程。

我有两个不同并发的工人

任务:

尝试清除任务不起作用,任务将其保存在内存中。要清除任务,我使用下一个命令:

我是第一次将 Celery 与 DJANGO 一起使用,我不知道我是否遗漏了什么或者我有一些错误的设置:

要在进入该循环时终止任务,我需要从数据库中终止它,因为我无法从 django-admin 站点停止或使用 celery purge 命令

出现错误时如何避免在该循环中输入任务的任何建议

提前致谢

0 投票
1 回答
1029 浏览

django - Celerybeat 服务未启动

我正在尝试让 celery 作为服务运行,但我遇到了 CELERYBEAT_OPTS 参数的问题。我可以很好地启动 celery 服务,并且可以通过命令行很好地启动 celerybeat,如下所示:

但是当我像这样启动 celerybeat 服务时:

它没有开始。

这是我在 /etc/default/celerybeat 的 celerybeat 配置文件:

最奇怪的是,如配置文件中所述,如果我注释掉 CELERYBEAT_OPTS 行,我可以使用 service 命令正常启动服务。因此,当我在配置文件中指定 CELERYBEAT_OPTS="-S djcelery.schedulers.DatabaseScheduler" 时,某些原因导致服务无法启动。有没有人知道这里发生了什么或者我如何能够解决它?谢谢你。

0 投票
1 回答
348 浏览

django - /etc/init.d/celeryd 在 AWS 上启动失败

嗨,我在这个论坛上读了很多关于这个的内容,但我只是不知道现在出了什么问题,看起来一切都很好,但就是不工作

我像这样设置我的本地配置(/etc/default/celeryd):

当我运行 /etc/init.d/celeryd start 我得到这个:

但是工作人员没有运行(/etc/init.d/celeryd 状态):

我读了一些关于像这样运行的东西(sh -x /etc/init.d/celeryd start)并发现错误,大多数时候是文件权限错误,但我看不出有什么问题

有任何想法吗?

0 投票
1 回答
463 浏览

django - Django with Celery:从正在进行的任务中获取状态

我目前正在用 Celery 测试 Django。

使用 crontab 设置定期任务以运行以下任务添加:

该模型:

现在我希望能够访问当前或上一个任务的状态。使用 Django shell,我可以获得以下内容:

但是,我无法从此访问添加任务,也无法访问其状态。按名称调用任务也不起作用:

Manager.objects.all()[0].app_status()['extractionapp.tasks.add'] Traceback(最近一次调用最后):文件“”,第 1 行,在文件“/Users/antoinebrunel/seo/lib/ python2.7/site-packages/celery/app/registry.py",第 26 行,缺少 raise self.NotRegistered(key) NotRegistered: 'extractionapp.tasks.add'

那么如何访问分配给 cron 的当前任务的状态呢?我可以通过主页 › Djcelery › 任务从管理员那里看到它,但我如何从代码中获得它?

非常感谢!

0 投票
0 回答
219 浏览

django - Djcelery 不能与 xhtml2pdf 一起使用 - Mingle:独自一人

我试图将 xhtml2pdf 导入到我的 tasks.py 文件中。但是,当我导入它时,没有任何任务完成,只要我删除导入行,它就会再次工作。没有错误,它只是什么都不做。

任务.py:

python manage.py celeryd -E -B -l DEBUG

就这样:

我使用 Django 1.8,python 2.7

0 投票
1 回答
886 浏览

python - Django/djcelery 1.8.2 AppRegistryNotReady:翻译基础设施无法初始化

我收到以下错误:

我有一个项目,它不是一个真正的 django 应用程序,而是一个 celery 应用程序。因此,我没有创建项目或应用程序启动时创建的一个wsgi.pymodels.py任何典型文件。django-admin

我只想用来djcelery创建周期性任务djcelery.schedules.DatabaseScheduler

此处给出的问题的解决方案(AppRegistryNotReady,使用 uWSGI 部署时的翻译错误)需要我对 vassal.ini 文件进行更改。我的实现中没有 vassal.ini 文件。

我将简要描述我的项目 -

  • 应用程序.py
  • 任务.py
  • 运行项目.py
  • 芹菜配置文件

在运行工作程序之前,我使用django-admin migrate命令创建了所需的表。我可以看到/home/test.db数据库中的表。

首先我运行工人 -$python apps.py 然后我将一个计划保存到数据库中,以便由 celerybeat 守护进程重复执行 -$python runproj.py

0 投票
0 回答
385 浏览

celery - --url_prefix 不再支持,所以 Flower 现在只能在 root 上运行?

虽然使用 --url_prefix 参数在运行 Flower 时不会报错,但它不再起作用了。在最新源代码的注释中也弃用了此参数。那么这个参数是否存在替代方案,或者从现在开始Flower只能在 root 上运行?

0 投票
1 回答
2911 浏览

python - 从 Django 代码调用 celery 任务的正确方法?

我有一个注册表单,在提交后,我想通过一些外部 API 执行一些数据验证,然后最终提交到另一个 API。我想异步执行此操作,因此提交者不会等待 10 秒来提交表单。

到目前为止,这是我的代码——它可以工作,但是如果在任务中抛出异常,用户会收到 500 错误(具体的异常是有时我使用的第三方 API 超时)。我的印象是,如果任务是异步执行的(注意 @task 装饰器并使用延迟来调用任务),那么无论函数中发生什么,都应该成功加载页面。

视图.py

任务.py

使用 try/except 子句包装 prepare_and_submit_data 的内容并记录错误的正确解决方案是什么?或者将函数的调用包装在寄存器中?

谢谢你。

0 投票
2 回答
243 浏览

python - 如何在没有 Django 项目的情况下使用 djcelery.scheduler?

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

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