127得票2回答
使用Celery和RQ的优缺点比较

目前我正在开发一个需要实现一些后台任务的Python项目(主要是电子邮件发送和大量数据库更新)。 我使用Redis作为任务代理。 因此,在这一点上,我有两个选择:Celery 和 RQ。 我对这些作业队列有一些经验,但我想问问你们分享使用这些工具的经验。 使用Celery或RQ有哪些优缺点...

30得票2回答
与Celery正在进行的任务交互

我们基于RabbitMQ和Celery的分布式架构可以同时启动多个任务,而且没有任何问题。可扩展性很好。 现在我们需要远程控制任务: 暂停、恢复、取消。 我们找到的唯一解决方案是在Celery任务中进行RPC调用另一个任务,在DB请求后回复命令。Celery任务和RPC任务不在同一台机器上,只...

24得票2回答
Python Reddis队列 ValueError: __main__ 模块中的函数无法被工作进程处理。

我正在尝试使用python-rq将一个基本作业排队到Redis中,但它抛出了这个错误: "ValueError:不能由工作线程处理来自main模块的函数" 这是我的程序:import requests def count_words_at_url(url): resp =...

19得票8回答
RQ - 清空和删除队列

我正在使用RQ,有一个包含数千个项的失败队列和另一个先前用于测试、现在为空且未使用的测试队列。我想知道如何从失败队列中删除所有作业,并彻底删除测试队列? 很抱歉问这么基础的问题,但我在RQ文档中找不到相关信息,而我对Redis和RQ都是完全陌生的... 预先感谢您!

17得票2回答
Python Redis Queue(rq)- 如何避免为每个作业预加载ML模型?

我想使用rq队列我的ml预测。示例代码(伪代码):predict.py:import tensorflow as tf def predict_stuff(foo): model = tf.load_model() result = model.predict(foo) ...

16得票8回答
在Django中测试django-rq(python-rq)的最佳实践

我将开始在我的项目中使用django-rq。 django-rq是与RQ集成的Django插件,RQ是一个基于Redis的Python队列库。 对于使用RQ的Django应用程序,测试的最佳实践是什么? 例如,如果我想要将我的应用程序作为黑盒子进行测试,在用户执行某些操作后,我希...

15得票3回答
如何在Python-RQ中创建多个worker?

我们最近被迫用RQ替换celery,因为它更简单,而且celery给我们带来了太多问题。现在,我们无法找到一种动态创建多个队列的方法,因为我们需要同时完成多个作业。所以基本上每个路由的请求都应该启动一个作业,在我们可以继续进行下一个作业之前,没有意义让多个用户等待一个用户的作业完成。我们定期向...

13得票1回答
Python RQ无法满足工作推送性能的要求

尝试使用python-rq支持我们的 Web 应用程序的后端,但是推送新工作需要很长时间 - 长达12秒。 性能问题发生在执行enqueue_call函数调用时,特别是当连接到系统的 worker 进程数量增加时(超过200个)。 该系统的工作方式如下: 前端将作业推送到任务队列服务器...

13得票3回答
将结果传递给依赖于作业的任务 - Python RQ

我该如何将一个任务的结果传递给依赖于它的另一个任务? 目前我的做法是将第一个任务的id传递给第二个任务,first = queue.enqueue(firstJob) second = queue.enqueue(secondJob, first.id, depends_on=first);...

12得票3回答
在Python RQ中取消已经执行的任务?

我正在使用http://python-rq.org/在Heroku工作进程上排队并执行任务。 这些都是长时间运行的任务,偶尔需要在执行过程中取消它们。 我该如何从Python中实现这个功能?from redis import Redis from rq import Queue from my...