celery相关内容

芹菜工人/服务器可以接受来自非芹菜生产者的任务吗?

我想使用一个用 java nio 编写的彗星服务器来发送实时更新.接收信息时,我希望它扫描数据,并通过rabbitmq 将任务发送到工作线程.理想情况下,我希望 celery 服务器位于 rabbit 的另一端,管理一个处理这些任务的工作线程池. 但是,据我了解,celery 的工作原理是坐在rabbitmq 的两端,并且通过嵌入消费者和生产者的代码中,它实质上接管了生产者和消费者的角色.有 ..
发布时间:2022-01-11 17:23:24 其他开发

Django Celery 教程不返回结果

UDATE3: 发现了问题.请参阅下面的答案. UPDATE2: 看来我可能一直在通过 manage.py shell 运行 djcelery 教程来处理自动命名和相关导入问题,见下文.它仍然对我不起作用,但现在我收到新的日志错误消息.见下文. 更新:我在帖子底部添加了日志.示例任务好像没有注册? 原帖: 我正在尝试让 django-celery 启动并运行.我无法通过示例 ..
发布时间:2022-01-11 17:22:36 Python

EC2 上的 RabbitMQ 消耗大量 CPU

我正在尝试让 RabbitMQ 与 Celery 和 Django 在 EC2 实例上进行一些非常基本的后台处理.我在一个大型 EC2 实例上运行 rabbitmq-server 2.5.0. 我按照这里的说明下载并安装了测试客户端(在最底部页).我一直在放开测试脚本并得到预期的输出: 恢复速率:2350 msg/s,最小/平均/最大延迟:588078478/588352905/58858 ..
发布时间:2022-01-11 17:21:11 其他开发

区分 celery、kombu、PyAMQP 和 RabbitMQ/ironMQ

我想将图像上传到 S3 服务器,但在上传之前我想生成 3 种不同大小的缩略图,并且我希望它在请求/响应周期之外完成,因此我使用的是 celery.我已经阅读了文档,这是我所理解的.如果我错了,请纠正我. Celery 可帮助您在请求响应周期之外管理任务队列. 还有一种叫做胡萝卜/kombu 的东西——它是一个 django 中间件,用于打包通过 celery 创建的任务. 然后是第三层 ..
发布时间:2022-01-11 17:20:05 Python

RabbitMQ 上 celery 任务优先级的解决方法?

我在 RabbitMQ 之上运行带有 Celery 的 Django,作为处理一些数据处理任务的队列.当用户第一次注册时,我会启动 celery 任务,并定期更新他们的数据.但是,我当然想优先考虑运行当前在线用户的任务.我注意到 celery 中的任务有优先级设置,但似乎 rabbitmq 不支持这一点.此主题 ..
发布时间:2022-01-11 17:19:31 其他开发

具有相同 RabbitMQ 代理后端进程的多个 Celery 项目

如何使用两个不同的 celery 项目,它们使用来自单个 RabbitMQ 安装的消息. 通常,如果我为它们使用不同的 rabbitmq,这些脚本可以正常工作.但是在生产机器上,我需要为他们共享相同的 RabbitMQ 后端. 注意:由于某些限制,我无法合并现有项目中的新项目,因此它将是两个不同的项目. 解决方案 RabbitMQ 具有创建虚拟消息代理的能力,称为 virtua ..
发布时间:2022-01-11 17:17:57 Python

芹菜计划列表返回无

我对 Celery 还很陌生,我一直在尝试设置一个简单的脚本来安排和取消安排任务.但是我觉得我遇到了一个奇怪的问题.我有以下设置 从芹菜进口芹菜app = Celery('celery_test',经纪人='amqp://',后端='amqp')@app.task定义添加(x,y):返回 x + y 我很好地启动了我的 celery 服务器,并且可以添加任务.现在,当我想获取活动任务列表时,事 ..
发布时间:2022-01-11 17:15:19 Python

Celery &Rabbitmq:WARNING/MainProcess] 收到并删除未知消息.错误的目的地?!?- GIT 上的实验

最近,我在做一个GIT项目的实验,以了解大数据处理框架. 1、GIT项目:https://github.com/esperdyne/celery-message-processing 我们有以下组件: 1、AMPQ broker(RabbitMQ):它作为一个消息缓冲区,作为一个邮箱为不同的用户交换消息! 2、worker:作为服务服务器为各种服务客户端提供服务.3、Que ..
发布时间:2022-01-11 17:13:52 其他开发

测量 Celery 任务执行时间

我已将一个独立的批处理作业转换为使用 celery 来调度要完成的工作.我正在使用 RabbitMQ.一切都在一台机器上运行,没有其他进程正在使用 RabbitMQ 实例.我的脚本只是创建了一堆由工作人员处理的任务. 有没有一种简单的方法来测量从我的脚本开始到所有任务完成的时间?我知道在使用消息队列时这在设计上有点复杂.但我不想在生产中这样做,只是为了测试和获得性能估计. 解决方案 ..
发布时间:2022-01-11 17:12:43 Python

如何将一系列任务路由到芹菜中的特定队列?

当我将任务路由到特定队列时,它会起作用: task.apply_async(queue='beetroot') 但是如果我创建一个链: 链=任务|任务 然后我写 chain.apply_async(queue='beetroot') 它似乎忽略了 queue 关键字并分配给默认的 'celery' 队列. 如果 celery 支持链中路由就好了 - 所有任务都在同一个队列中按顺序 ..
发布时间:2022-01-11 17:12:05 Python

用芹菜制作的临时队列

我将 Celery 与 RabbitMQ 一起使用.最近,我注意到有大量的临时队列. 所以,我实验发现,当一个任务失败(即一个任务引发异常)时,就会形成一个随机名称的临时队列(如 c76861943b0a4f3aaa6a99a6db06952c),而队列仍然存在. 在 rabbitmqadmin 中找到的临时队列的一些属性如下 - 自动删除:真消费者:0耐用:假留言:1messa ..
发布时间:2022-01-11 17:10:55 其他开发

从 Java 与 Django/Celery 互操作

我们公司有一个基于 Python 的网站和一些基于 Python 的工作节点,它们通过 Django/Celery 和 RabbitMQ 进行通信.我有一个基于 Java 的应用程序,它需要向基于 Celery 的工作人员提交任务.我可以很好地从 Java 向 RabbitMQ 发送工作,但是基于 Celery 的工作人员永远不会接受工作.通过查看两种类型的作业提交的数据包捕获,存在差异,但我无法 ..
发布时间:2022-01-11 17:10:37 Java开发

从一个 Docker 容器连接到另一个

我想在一个 docker 容器中运行 rabbitmq-server 并使用 celery (http://celeryproject.组织/) 我使用以下命令运行 rabbitmq... sudo docker run -d -p :5672 markellul/rabbitmq/usr/sbin/rabbitmq-server 并通过 运行芹菜 sudo docker run - ..
发布时间:2022-01-11 17:09:34 其他开发

停止/清除 Django-Celery 中的定期任务

我已经设法通过继承 PeriodicTask 让周期性任务在 django-celery 中工作.我试图创建一个测试任务并让它运行一些无用的东西.有用. 现在我无法阻止它.我已阅读文档,但无法找到如何从执行队列中删除任务.我尝试过使用 celeryctl 和 shell,但是 registry.tasks() 是空的,所以我看不到如何删除它. 我看到了我应该“撤销"它的建议,但为此我似 ..
发布时间:2022-01-11 17:05:40 其他开发

重试丢失或失败的任务(Celery、Django 和 RabbitMQ)

有没有办法确定是否有任何任务丢失并重试? 我认为丢失的原因可能是调度程序错误或工作线程崩溃. 我打算重试它们,但我不确定如何确定哪些任务需要停用? 以及如何使这个过程自动进行?我可以使用我自己的自定义调度程序来创建新任务吗? 编辑:我从文档中发现 RabbitMQ 从不丢失任务,但是当工作线程在任务执行过程中崩溃时会发生什么? 解决方案 你需要的是设置 CEL ..
发布时间:2022-01-11 17:05:03 其他开发

芹菜心跳不工作

我在 Celery 设置中设置了心跳: BROKER_HEARTBEAT = 10 我也在 RabbitMQ config 中设置了这个配置值: 'heartbeat' =>'10', 但不知何故心跳仍然被禁用: ubuntu@sync1:~$ sudo rabbitmqctl list_connections name timeout列出连接...some_address:37781 ..
发布时间:2022-01-11 17:04:30 Python