django-celery相关内容
我正在尝试了解芹菜是如何工作的 在tasks.py文件中的Django应用程序中,我创建了一个任务: @celery.shared_task(default_retry_delay=2 * 60, max_retries=2) def my_task(param1, param2): # There are some operations 我使用以下代码调用此任务:
..
默认情况下,芹菜将所有任务发送到‘celery’队列,但您可以通过添加额外参数来更改此行为: @task(queue='celery_periodic') def recalc_last_hour(): log.debug('sending new task') recalc_hour.delay(datetime(2013, 1, 1, 2)) # for example
..
我不需要 Django 管理员中的 celery 模块.有什么办法可以去掉吗? 解决方案 更具体地说,在 INSTALLED_APPS after 'djcelery' 来自 django.contrib 导入管理从 djcelery.models 导入(TaskState、WorkerState、PeriodicTask、IntervalSchedule、CrontabSchedule
..
我最近接手了我公司正在进行的项目的另一部分,并发现我们的 RabbitMQ/Celery 设置中似乎存在内存泄漏. 我们的系统有 2Gb 的内存,在任何给定时间大约有 1.8Gb 可用.我们有多个任务处理大量数据并将它们添加到我们的数据库中. 当这些任务运行时,它们会消耗相当多的内存,很快我们的可用内存就会下降到 16Mb 到 300Mb 之间的任何地方.问题是,这些任务完成后,内存并
..
我正在尝试使用 django 和 rabbit-mq 设置 celeryd.到目前为止,我已经完成了以下工作: 从 pip 安装 celery 通过存储库中可用的 deb 安装 rabbitmq 通过 rabbitmqctl 向 rabbitmq 添加了一个用户和虚拟主机,以及该用户的权限 启动rabbitmq-server 通过 pip 安装 django-celery 设置 d
..
所以我有一个 Django 应用程序,它偶尔会向 Celery 发送一个任务以进行异步执行.我发现当我在开发中处理我的代码时,Django 开发服务器知道如何自动检测代码何时发生更改,然后重新启动服务器,以便我可以看到我的更改.但是,我的应用程序的 RabbitMQ/Celery 部分并没有注意到开发中的这些变化.如果我更改稍后将在 Celery 任务中运行的代码,Celery 仍将继续运行旧版本
..
我已经用 RabbitMQ 安装了 Celery.问题是对于返回的每个结果,Celery 都会在 Rabbit 中创建,并在交换 celeryresults 中使用任务 ID 排队. 我仍然想要结果,但在 ONE 队列中. 我的芹菜配置: 从日期时间导入时间增量OKER_URL = 'amqp://'CELERY_RESULT_BACKEND = 'amqp'#CELERY_IGNO
..
我正在 CentOS 7 上使用 Django 10、RabbitMQ 和 Celery 4 运行一个站点. 我的 Celery Beat 和 Celery Worker 实例由主管控制,我正在使用 django celery 数据库调度程序. 我已经使用 Django-admin 中的 cronsheduler 安排了一个 cron 样式的任务. 当我启动 celery bea
..
我在rabbitmq 上使用芹菜.我一直在向队列发送数千条消息,它们正在成功处理,一切正常.然而,几个rabbitmq队列中的消息数量正在增长相当大(队列中有数十万个项目).队列被命名为 celeryev.[...](见下面的截图).这是适当的行为吗?这些队列的目的是什么,不应该定期清除它们吗?有没有办法更频繁地清除它们,我认为它们占用了相当多的磁盘空间. 解决方案 您可以使用 CELER
..
我在我的 django 项目中使用 django-celery.昨天我更改了计算机的主机名(我使用的是 Ubuntu 12.04,编辑了文件 '/etc/hostname'),下次重新启动 django-celery 失败并出现错误 消费者:连接错误:[Errno 111] 连接被拒绝.4 秒后重试... 在对此错误进行一些研究后,我发现,更改我的主机名会导致此错误来自 这里.我的rabbit
..
我一直在与 Django/Celery 文档作斗争,需要一些帮助. 我希望能够使用 django-celery 运行定期任务.我在互联网(和文档)中看到了几种不同的格式和模式,说明应该如何使用 Celery 实现这一目标...... 有人可以提供创建、注册和执行 django-celery 周期性任务的基本功能示例吗?特别是,我想知道我是否应该编写一个扩展 PeriodicTask 类
..
我刚接触 celery 和 java 2 天.:( 现在,我有一个java客户端通过rabbitmq发送任务的任务.Celery 将是处理任务的工人. 我知道 Python->rabbitmq->celery 很容易.但是我可以通过 java->rabbitmq->celery 做到这一点吗? 草稿思路是把java函数用json序列化,然后用rabbitmq发送,再用celery
..
我目前的 celery 设置有大约 10,000 个计划任务.我没有意识到计划任务是什么,并决定提前几个月使用它们发送后续电子邮件. 回想起来,将任务安排在未来超过 1 小时可能永远不是一个好主意,因为每次重新启动工作器时,它都必须重新接收来自 rabbitMQ 的每个计划任务,然后它们都只是坐在记忆. 我的问题是,如果我必须撤销一项任务,它不仅仅是删除它.任务保留在内存中,但撤销队列
..
我将 celery 2.4.1 与 python 2.6、rabbitmq 后端和 django 一起使用.如果工人关闭,我希望我的任务能够正确清理.据我所知,您无法提供任务析构函数,因此我尝试连接到 worker_shutdown 信号. 注意:AbortableTask 仅适用于数据库后端,所以我不能使用它. 从 celery.signals 导入 worker_shutdown@任务
..
我已经设法通过继承 PeriodicTask 让周期性任务在 django-celery 中工作.我试图创建一个测试任务并让它运行一些无用的东西.有用. 现在我无法阻止它.我已阅读文档,但无法找到如何从执行队列中删除任务.我尝试过使用 celeryctl 和 shell,但是 registry.tasks() 是空的,所以我看不到如何删除它. 我看到了我应该“撤销"它的建议,但为此我似
..
有没有办法确定是否有任何任务丢失并重试? 我认为丢失的原因可能是调度程序错误或工作线程崩溃. 我打算重试它们,但我不确定如何确定哪些任务需要停用? 以及如何使这个过程自动进行?我可以使用我自己的自定义调度程序来创建新任务吗? 编辑:我从文档中发现 RabbitMQ 从不丢失任务,但是当工作线程在任务执行过程中崩溃时会发生什么? 解决方案 你需要的是设置 CEL
..
我正在尝试让 Celery 日志记录与 Django 一起工作.我在 settings.py 中进行了日志设置以进入控制台(这很好用,因为我在 Heroku 上托管).在每个模块的顶部,我有: 导入日志logger = logging.getLogger(__name__) 在我的tasks.py中,我有: from celery.utils.log import get_task_logg
..
如何检查一个任务是否在 celery 中运行(具体来说,我使用的是 celery-django)? 我已经阅读了文档,也用谷歌搜索过,但我看不到这样的电话: my_example_task.state() == 正在运行 我的用例是我有一个用于转码的外部 (java) 服务.当我发送要转码的文档时,我想检查运行该服务的任务是否正在运行,如果没有,则(重新)启动它. 我使用的是当前的
..
如何将 Django 与 AWS Elastic Beanstalk 一起使用,同时也只能在主节点上通过 celery 运行任务? 解决方案 这是我在弹性 beantalk 上使用 django 设置 celery 的方式,可扩展性工作正常. 请记住,container_commands 的'leader_only'选项仅适用于环境重建或部署强>的应用程序.如果服务运行时间足够长,E
..
我有一个仅部分执行的 django celery 任务. 我启动了应用程序并且连接看起来不错: INFO/MainProcess] 连接到redis://elasticache.cache.amazonaws.com:6379/0 [2018-02-1723:27:24,314:INFO/MainProcess] 混合:搜索邻居[2018-02-17 23:27:25,339: INF
..