celerybeat相关内容

Django celerybeat定期任务仅运行一次

我正在尝试计划使用Django 1.9.8,Celery 4.0.2,RabbitMQ 2.1.4,Redis 2.10.5每10分钟运行一次的任务.这些都在Linux(Fedora 25)的Docker容器中运行.我已经尝试了许多在Celery文档和此站点中找到的东西的组合.到目前为止,唯一有效的组合如下.但是,它仅在应用程序启动时最初运行定期任务,但此后计划将被忽略.我完全确认计划的任务在初始 ..
发布时间:2021-05-01 20:10:27 Python

如何将芹菜任务注册到特定工人?

我正在使用Python/Django开发Web应用程序,并且有一些任务正在芹菜中运行. 我必须一次运行一个任务A,所以我使用--concurrency = 1创建了工作程序,并使用以下命令将任务A路由到该工作程序. celery-项目工作者-Q A -c 1 -l INFO 此工作程序处理任务A并将其他任务路由到默认队列后,一切工作正常. 但是,当我使用 inspect 命令获 ..
发布时间:2021-04-21 19:58:42 其他开发

如何配置和运行celerybeat

我刚开始做芹菜,试图执行一项定期任务. 已配置* rabbitmq **添加了celeryconfig.py. 并在task.py中添加了以下代码: 从celery.decorators导入 从datetime导入timedelta@periodic_task(run_every = timedelta(seconds = 2))def every_2_seconds():打印(“ ..
发布时间:2021-04-21 19:57:45 Python

如何向Celery Beat动态添加计划任务

我使用Celery版本3.1.23,试图将预定任务动态添加到芹菜节拍中.我有一名芹菜工人和一名芹菜节拍实例正在运行. 在运行task.delay()时触发标准的芹菜任务.当我将预定的定期任务定义为配置中的设置时,芹菜节拍将其运行. 但是,我需要的是能够添加在运行时在指定的crontab上运行的任务.将任务添加到持久性调度程序后,芹菜节拍似乎无法检测到新添加的新任务.我可以看到celer ..
发布时间:2021-04-21 19:57:12 Python

如何在Celery中使两个任务互斥?

是否有一种方法可以禁止在Celery中同时运行两个不同的任务?我当时正在考虑定义一个新的并发级别为1的队列,并将这些任务发送到该队列,但是我找不到一个示例.有可能吗? 谢谢! 解决方案 是的,如果您不必担心整体吞吐量,则可以创建一个单独的队列并将专用的并发设置为1.可以根据需要创建任意数量的队列,并配置每个工作人员从哪个队列接收消息. 启动工作程序时,可以传递 -Q 参数设置其 ..
发布时间:2021-04-21 19:56:51 其他开发

如何使用django正确守护celerybeat?

有几个与此问题类似的问题,但是没有一个问题有合适的解决方案,也没有描述完全相同的问题. 如果我自己从命令行启动celery,则周期性任务可以很好地与我的配置配合使用, celery --app = proj.mycelery worker -B 问题是当我尝试守护芹菜时.遵循本教程之后,我通过以下方式启动服务: sudo/etc/init.d/celerybeat start ..
发布时间:2021-04-21 19:56:06 Python

用Chronos取代Celerybeat

计时有多成熟?是像celery-beat这样的调度程序的可行替代方案吗? 现在,我们的日程安排实施了定期的“心跳"任务,该任务检查“未决"事件并在事件过期时将其触发.我们使用 python-dateutil 的规则进行定义. 我们正在寻找这种方法的替代方法,并且 Chronos 似乎是一种非常吸引人的替代方法:1)它将减轻必要性要使用心跳计划任务,2)支持ISO 8601格式的REST ..
发布时间:2021-04-21 19:53:43 其他开发

celery celerybeat可以在没有Django的情况下使用数据库调度程序吗?

我有一个小的基础架构计划,不包括Django.但是,由于我在Django方面的经验,我非常喜欢Celery.我真正需要的是Redis + Celery来完成我的项目.我想不使用本地文件系统,而是将所有内容保留在Redis中.我当前的架构将Redis用于所有内容,直到准备将结果转储到AWS S3为止.诚然,我没有使用Redis而不是文件系统的充分理由.我刚刚投入了很多精力在Docker和可伸缩性方面 ..
发布时间:2021-04-21 19:53:05 Python

芹菜节拍时间表:启动芹菜节拍时立即运行任务?

如果我使用 timedelta(days = 1)创建一个芹菜节拍时间表,则第一个任务将在24小时后执行,请引用芹菜节拍文档: 使用时间表的时间增量意味着任务将以30秒的间隔发送(第一个任务将在开始芹菜拍打30秒后发送,然后在最后一次运行之后每30秒发送一次) 但是事实是,在很多情况下,调度程序在启动时运行任务实际上很重要,但是我没有找到一个选项,该选项可以让我在芹菜启动后立即运行任务 ..
发布时间:2021-04-21 19:52:36 Python

celerybeat-多个实例&监控

我正在使用celery构建应用程序,最近我们需要按计划运行某些任务. 我认为celerybeat非常适合此操作,但是我有几个问题: 是否可以运行多个celerybeat实例,以使任务不重复? 如何确保celerybeat始终启动&跑步? 到目前为止,我读到以下内容: https://github.com/celery/celery/issues/251 和 https://gi ..
发布时间:2021-04-21 19:52:09 Python

如何检测故障并自动重启celery worker

我在由django支持的网站中使用 Celery 和 Celerybeat .服务器操作系统为Ubuntu 16.04.通过使用celerybeat,芹菜工作者每10分钟完成一次工作.有时工作人员会关闭,而没有任何有用的日志消息或错误.因此,我想找到一种方法来检测celery worker(不是Beat)的状态(On/Off),如果停止,则自动重新启动它.我怎样才能做到这一点?谢谢 解决方案 ..
发布时间:2021-04-21 19:51:39 服务器开发

我可以单独查看和删除Celery / RabbitMQ任务吗?

我正在运行Django + Celery + RabbitMQ。修改了一些任务名称后,即使从Django Celery Beat的Periodic Tasks表中使用此密钥删除任务并重新启动Celery worker,我也开始收到“未注册任务” KeyErrors。 事实证明, Celery / RabbitMQ任务是持久的。我最终通过将旧版任务重新实现为虚拟方法来解决了该问题。 将来 ..
发布时间:2020-10-23 19:23:43 其他开发

如何摆脱仍在Celery / RabbitMQ队列中的遗留任务?

我正在运行Django + Celery + RabbitMQ。修改了一些任务名称后,即使从Django Celery Beat的Periodic task表中删除了使用此密钥的任务并重新启动Celery worker之后,我也开始收到“未注册任务” KeyErrors。他们坚持,甚至在使用--purge选项运行。 如何摆脱它们? 解决方案 要清除这些任务中的最后一个,您可以使用其旧 ..
发布时间:2020-10-23 19:23:39 其他开发

芹菜节拍-每个任务的时区不同

我正在用芹菜拍子安排一些任务。我可以使用CELERY_TIMEZONE设置通过crontab时间表来安排任务,它在提到的时区中的预定时间运行。 但是我想成为能够在同一应用程序中针对不同时区设置多个此类任务(单个django settings.py)。我知道计划任务时哪个任务需要在哪个时区运行。 是否可以为每个任务指定不同的时区? 我正在使用Django(1.4)和芹菜(3.0.1 ..
发布时间:2020-10-23 06:03:44 Python

正确设置Django Redis芹菜和芹菜节拍

我一直在尝试设置django + celery + redis + celery_beats,但这给我带来了麻烦。该文档非常简单,但是当我运行django服务器,redis,芹菜和芹菜节拍时,什么也不会打印或记录(我的所有测试任务都会对其进行记录)。 这是我的文件夹结构: -aenima -灌肠 -__init__.py -celery.py -跳投 -task.py ..
发布时间:2020-10-23 04:54:41 Python