celery相关内容
我想使用一个用 java nio 编写的彗星服务器来发送实时更新.接收信息时,我希望它扫描数据,并通过rabbitmq 将任务发送到工作线程.理想情况下,我希望 celery 服务器位于 rabbit 的另一端,管理一个处理这些任务的工作线程池. 但是,据我了解,celery 的工作原理是坐在rabbitmq 的两端,并且通过嵌入消费者和生产者的代码中,它实质上接管了生产者和消费者的角色.有
..
UDATE3: 发现了问题.请参阅下面的答案. UPDATE2: 看来我可能一直在通过 manage.py shell 运行 djcelery 教程来处理自动命名和相关导入问题,见下文.它仍然对我不起作用,但现在我收到新的日志错误消息.见下文. 更新:我在帖子底部添加了日志.示例任务好像没有注册? 原帖: 我正在尝试让 django-celery 启动并运行.我无法通过示例
..
我正在尝试让 RabbitMQ 与 Celery 和 Django 在 EC2 实例上进行一些非常基本的后台处理.我在一个大型 EC2 实例上运行 rabbitmq-server 2.5.0. 我按照这里的说明下载并安装了测试客户端(在最底部页).我一直在放开测试脚本并得到预期的输出: 恢复速率:2350 msg/s,最小/平均/最大延迟:588078478/588352905/58858
..
我想将图像上传到 S3 服务器,但在上传之前我想生成 3 种不同大小的缩略图,并且我希望它在请求/响应周期之外完成,因此我使用的是 celery.我已经阅读了文档,这是我所理解的.如果我错了,请纠正我. Celery 可帮助您在请求响应周期之外管理任务队列. 还有一种叫做胡萝卜/kombu 的东西——它是一个 django 中间件,用于打包通过 celery 创建的任务. 然后是第三层
..
我在 RabbitMQ 之上运行带有 Celery 的 Django,作为处理一些数据处理任务的队列.当用户第一次注册时,我会启动 celery 任务,并定期更新他们的数据.但是,我当然想优先考虑运行当前在线用户的任务.我注意到 celery 中的任务有优先级设置,但似乎 rabbitmq 不支持这一点.此主题
..
如何使用两个不同的 celery 项目,它们使用来自单个 RabbitMQ 安装的消息. 通常,如果我为它们使用不同的 rabbitmq,这些脚本可以正常工作.但是在生产机器上,我需要为他们共享相同的 RabbitMQ 后端. 注意:由于某些限制,我无法合并现有项目中的新项目,因此它将是两个不同的项目. 解决方案 RabbitMQ 具有创建虚拟消息代理的能力,称为 virtua
..
我正在使用带有 rabbitmq 后端的 celery.它在 rabbitmq 中生成了数千个队列,其中包含 0 或 1 个项目,如下所示: $ sudo rabbitmqctl list_queues列出队列...c2e9b4beefc7468ea7c9005009a57e1d 11162a89dd72840b19fbe9151c63a4eaa 007638a97896744a190f8131
..
我对 Celery 还很陌生,我一直在尝试设置一个简单的脚本来安排和取消安排任务.但是我觉得我遇到了一个奇怪的问题.我有以下设置 从芹菜进口芹菜app = Celery('celery_test',经纪人='amqp://',后端='amqp')@app.task定义添加(x,y):返回 x + y 我很好地启动了我的 celery 服务器,并且可以添加任务.现在,当我想获取活动任务列表时,事
..
最近,我在做一个GIT项目的实验,以了解大数据处理框架. 1、GIT项目:https://github.com/esperdyne/celery-message-processing 我们有以下组件: 1、AMPQ broker(RabbitMQ):它作为一个消息缓冲区,作为一个邮箱为不同的用户交换消息! 2、worker:作为服务服务器为各种服务客户端提供服务.3、Que
..
我已将一个独立的批处理作业转换为使用 celery 来调度要完成的工作.我正在使用 RabbitMQ.一切都在一台机器上运行,没有其他进程正在使用 RabbitMQ 实例.我的脚本只是创建了一堆由工作人员处理的任务. 有没有一种简单的方法来测量从我的脚本开始到所有任务完成的时间?我知道在使用消息队列时这在设计上有点复杂.但我不想在生产中这样做,只是为了测试和获得性能估计. 解决方案
..
当我将任务路由到特定队列时,它会起作用: task.apply_async(queue='beetroot') 但是如果我创建一个链: 链=任务|任务 然后我写 chain.apply_async(queue='beetroot') 它似乎忽略了 queue 关键字并分配给默认的 'celery' 队列. 如果 celery 支持链中路由就好了 - 所有任务都在同一个队列中按顺序
..
我将 Celery 与 RabbitMQ 一起使用.最近,我注意到有大量的临时队列. 所以,我实验发现,当一个任务失败(即一个任务引发异常)时,就会形成一个随机名称的临时队列(如 c76861943b0a4f3aaa6a99a6db06952c),而队列仍然存在. 在 rabbitmqadmin 中找到的临时队列的一些属性如下 - 自动删除:真消费者:0耐用:假留言:1messa
..
我们公司有一个基于 Python 的网站和一些基于 Python 的工作节点,它们通过 Django/Celery 和 RabbitMQ 进行通信.我有一个基于 Java 的应用程序,它需要向基于 Celery 的工作人员提交任务.我可以很好地从 Java 向 RabbitMQ 发送工作,但是基于 Celery 的工作人员永远不会接受工作.通过查看两种类型的作业提交的数据包捕获,存在差异,但我无法
..
我想在一个 docker 容器中运行 rabbitmq-server 并使用 celery (http://celeryproject.组织/) 我使用以下命令运行 rabbitmq... sudo docker run -d -p :5672 markellul/rabbitmq/usr/sbin/rabbitmq-server 并通过 运行芹菜 sudo docker run -
..
如何在不知道每个任务的 task_id 的情况下删除所有待处理的任务? 解决方案 来自 文档: $ celery -A proj purge 或 从 proj.celery 导入应用程序app.control.purge() (编辑:用当前方法更新.)
..
我已经设法通过继承 PeriodicTask 让周期性任务在 django-celery 中工作.我试图创建一个测试任务并让它运行一些无用的东西.有用. 现在我无法阻止它.我已阅读文档,但无法找到如何从执行队列中删除任务.我尝试过使用 celeryctl 和 shell,但是 registry.tasks() 是空的,所以我看不到如何删除它. 我看到了我应该“撤销"它的建议,但为此我似
..
有没有办法确定是否有任何任务丢失并重试? 我认为丢失的原因可能是调度程序错误或工作线程崩溃. 我打算重试它们,但我不确定如何确定哪些任务需要停用? 以及如何使这个过程自动进行?我可以使用我自己的自定义调度程序来创建新任务吗? 编辑:我从文档中发现 RabbitMQ 从不丢失任务,但是当工作线程在任务执行过程中崩溃时会发生什么? 解决方案 你需要的是设置 CEL
..
我在 Celery 设置中设置了心跳: BROKER_HEARTBEAT = 10 我也在 RabbitMQ config 中设置了这个配置值: 'heartbeat' =>'10', 但不知何故心跳仍然被禁用: ubuntu@sync1:~$ sudo rabbitmqctl list_connections name timeout列出连接...some_address:37781
..
在我的 tasks.py 文件中,当我导入 hmmlearn 时, 从 hmmlearn 导入 hmm 并启动我的芹菜工人,我收到以下错误 [2017-06-14 09:18:27,638: INFO/MainProcess] 收到的任务:sm.tasks.mytask[4e46806e-6f0f-420f-baac-c727c2a382d4][2017-06-14 09:18:27,716
..
我正在尝试使用 python 模拟库来修补在我的 django 应用程序中保存模型时运行的 Celery 任务,以查看它是否被正确调用. 基本上,任务是在 myapp.tasks 中定义的,并像这样在我的 models.py 文件的顶部导入: from .tasks import mytask ...然后使用 mytask.delay(foo, bar) 在模型内部的 save(
..