- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
所以,基本上我想构建一个在 heroku 上使用 RQ 的长轮询应用程序。我看过这个问题Flask: passing around background worker job (rq, redis)但它没有帮助。
这基本上就是我正在做的。
@app.route('/do_something', methods=['POST'])
def get_keywords():
data_json = json.loads(request.data)
text = urllib.unquote(data_json["sentence"])
job = q.enqueue(keyword_extraction.extract, text)
return job.key
@app.route('/do_something/<job_id>', methods=['GET'])
def get_keywords_results(job_id):
job = Job().fetch(job_id)
if(not job.is_finished):
return "Not yet", 202
else:
return str(job.result)
没有什么花哨的,所以当POST请求到来时,它会将作业排队并立即将job_id返回给用户,然后用户将使用 key 不断轮询结果。但是,我似乎无法让它工作,因为这行 Job().fetch(job_id)
返回
NoRedisConnectionException:无法解析 Redis 连接。
任何帮助将不胜感激。
最佳答案
我已经发现了这一点,以防有人感兴趣。必须是这个。
Job.fetch(job_id, connection=conn)
关于python - 如何在 RQ python 中通过 id 获取作业?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15181630/
我正在尝试 python-rq,但我没有看到如何明确地为队列赋予优先级? 优先级是否来自工作人员启动时定义的顺序? rqworker queueA queueB queueC 与 queueB 和 q
我正在尝试运行rq info命令,但我想获取远程redis机器上的信息。如何指定redis机器的url? 最佳答案 事实证明这很简单但没有记录: rq info --url redis://my-se
我将开始在我的项目中使用 django-rq。 Django integration with RQ, a Redis based Python queuing library. 测试使用 RQ 的
我们正在使用 NGINX + Gunicorn + Django + RQ 的架构,有几个 rq-worker。我们使用基本的 Django 日志记录设置(如下),具有翻转和最大文件大小,但是: 创建
我在使用 python RQ 运行多线程任务时遇到问题(在 v0.5.6 和 v0.6.0 上测试)。 考虑以下代码,作为我想要实现的目标的简化版本: 事物.py from threading imp
如何入队一个会运行很长时间的函数? 我想做以下事情: def batch_insert(数据): rows.append(MyModel(*data)) 如果 len(行) > 1000: MyMod
如果这是一个愚蠢的问题,我道歉并会羞愧地把头藏起来,但是: 我正在使用 rq 在 Python 中对作业进行排队。我希望它像这样工作: 工作 A 开始。作业 A 通过 Web API 抓取数据并存储。
我想使用 rq 在单独的 worker 上运行任务以从测量仪器收集数据。用户按下 dash 应用程序上的按钮将发出任务结束信号。问题在于任务本身不知道何时终止,因为它无权访问 dash 应用程序的上下
我正在使用 RQ ,并且我有一个包含数千个项目的 failed 队列,以及我不久前创建的另一个 test 队列用于测试,现在是空的且未使用。我想知道如何从 failed 队列中删除所有作业,并完全删除
我发现(见下文)函数 summary.rq (第 88 页)来自 quantreg 包打印不同的输出,这取决于样本量是大于等于还是小于 1001。 我知道,rq() 使用不同的方法,具体取决于样本大小
我对python rq不是很了解,我刚开始学习它。 有一个 task_a 需要 3 分钟才能完成处理。 @job def task_a(): time.sleep(180) print
我正在尝试使用 Redis 队列和 RQ 调度程序构建作业队列。但是当我尝试加载作业选项卡时,我从 RQ-dashboard 收到以下错误。我看到工作已添加,因为工作数量在增加。 During han
我的 python redis 队列中有一个嵌套的作业结构。首先执行 rncopy 作业。完成后,接下来是 3 个相关的注册作业。当所有这 3 个作业的计算完成后,我想触发一个作业向我的前端发送 we
我在设置 python-rq 时遇到了一个基本问题 - rqworker 似乎无法识别推送到它正在监听的队列的作业。 一切都在 virtualenv 中运行我有以下代码: from redis imp
我想知道将设置从 RQ worker 传递到任务函数的最佳方法是什么? 我想将我的所有设置保存在应用程序之外的文本文件中,然后在工作人员启动时读取它,然后使用这些值来执行实际任务。 现在我正在使用 o
我正在使用 rq和 RedisToGo。如何获取队列中的作业数?我在文档中找不到它? (在 Python 中) 当我尝试时: print "Before: ", len(q.jobs) result
如何将装饰器的函数传递给作业? 我有一个装饰器可以使用该函数运行作业。 @job def queueFunction(passedFunction, *args, **kwargs): # D
本周,我的集成测试停止工作。我发现这是一个无限期停滞的 django-rq 工作。我的输出: $: RQ worker 'rq:worker:47e0aaf280be.13' started, ver
我现在有大量文档要处理,我正在使用 Python RQ 来并行处理任务。 我希望在每个文档上执行不同的操作时完成一系列工作。例如:A -> B -> C 表示将文档传递给函数A,在之后A 已完成,继续
因此,RQ 明确声明我可以将对象的实例方法入队 here ,所以我一直在尝试这样做,但得到了一个 PicklingError: q.enqueue(some_obj.some_func, some_d
我是一名优秀的程序员,十分优秀!