问题标签 [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.
celery - django celery 队列路由不起作用
我有两个任务。任务“heavy_task”需要并发 1,“lite_task”需要并发 4
我在我的 settings.py 文件中定义了路由:
我尝试以这种方式执行指定并发的两个工作人员
当第一次调用任务heavy_task工作正常并且并发工作时,但是在调用任务lite_task之后,队列的并发性发生了重大变化。
我试试这个:
而当我执行任务heavy_task时,路由将不起作用,任务也不会执行。
但如果使用这个:
一切正常,但我一次只能执行一个任务,并且我需要能够以 1 的并发执行重任务和以 3 的并发执行 lite_task
任何建议
redis - 芹菜任务错误无限循环
我在我的 DJANGO 应用程序中使用 celery 时遇到问题。当任务出错时,任务进入循环并重新开始而不是完成任务 我的任务从数据库运行存储过程。在存储过程中,如果有任何错误,我会发送电子邮件并退出存储过程。
我有两个不同并发的工人
任务:
尝试清除任务不起作用,任务将其保存在内存中。要清除任务,我使用下一个命令:
我是第一次将 Celery 与 DJANGO 一起使用,我不知道我是否遗漏了什么或者我有一些错误的设置:
要在进入该循环时终止任务,我需要从数据库中终止它,因为我无法从 django-admin 站点停止或使用 celery purge 命令
出现错误时如何避免在该循环中输入任务的任何建议
提前致谢
django - Celerybeat 服务未启动
我正在尝试让 celery 作为服务运行,但我遇到了 CELERYBEAT_OPTS 参数的问题。我可以很好地启动 celery 服务,并且可以通过命令行很好地启动 celerybeat,如下所示:
但是当我像这样启动 celerybeat 服务时:
它没有开始。
这是我在 /etc/default/celerybeat 的 celerybeat 配置文件:
最奇怪的是,如配置文件中所述,如果我注释掉 CELERYBEAT_OPTS 行,我可以使用 service 命令正常启动服务。因此,当我在配置文件中指定 CELERYBEAT_OPTS="-S djcelery.schedulers.DatabaseScheduler" 时,某些原因导致服务无法启动。有没有人知道这里发生了什么或者我如何能够解决它?谢谢你。
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)并发现错误,大多数时候是文件权限错误,但我看不出有什么问题
有任何想法吗?
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 › 任务从管理员那里看到它,但我如何从代码中获得它?
非常感谢!
django - Djcelery 不能与 xhtml2pdf 一起使用 - Mingle:独自一人
我试图将 xhtml2pdf 导入到我的 tasks.py 文件中。但是,当我导入它时,没有任何任务完成,只要我删除导入行,它就会再次工作。没有错误,它只是什么都不做。
任务.py:
python manage.py celeryd -E -B -l DEBUG
就这样:
我使用 Django 1.8,python 2.7
python - Django/djcelery 1.8.2 AppRegistryNotReady:翻译基础设施无法初始化
我收到以下错误:
我有一个项目,它不是一个真正的 django 应用程序,而是一个 celery 应用程序。因此,我没有创建项目或应用程序启动时创建的一个wsgi.py
或models.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
celery - --url_prefix 不再支持,所以 Flower 现在只能在 root 上运行?
虽然使用 --url_prefix 参数在运行 Flower 时不会报错,但它不再起作用了。在最新源代码的注释中也弃用了此参数。那么这个参数是否存在替代方案,或者从现在开始Flower只能在 root 上运行?
python - 从 Django 代码调用 celery 任务的正确方法?
我有一个注册表单,在提交后,我想通过一些外部 API 执行一些数据验证,然后最终提交到另一个 API。我想异步执行此操作,因此提交者不会等待 10 秒来提交表单。
到目前为止,这是我的代码——它可以工作,但是如果在任务中抛出异常,用户会收到 500 错误(具体的异常是有时我使用的第三方 API 超时)。我的印象是,如果任务是异步执行的(注意 @task 装饰器并使用延迟来调用任务),那么无论函数中发生什么,都应该成功加载页面。
视图.py
任务.py
使用 try/except 子句包装 prepare_and_submit_data 的内容并记录错误的正确解决方案是什么?或者将函数的调用包装在寄存器中?
谢谢你。
python - 如何在没有 Django 项目的情况下使用 djcelery.scheduler?
我想对芹菜使用动态调度程序管理。我知道 djcelery 具有数据库支持的功能。但目前我不使用 Django,而是使用 Flask。我找不到 djcelery.schedulers 的 Flask 项目或实现。
是否可以在没有 Django 的情况下使用 djcelery 并实现动态调度程序管理系统?