问题标签 [rq]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
98 浏览

python - 暂停在 redis-server 上的队列中执行 RQ 作业

嗨,我有一个问题,是否有可能暂停 RQ 工作人员以接受正在排队等待的工作?我发现的唯一方法是杀死它们,但我认为有更好的方法来设置工人的某种状态。

0 投票
0 回答
207 浏览

python - Heroku 上的 rq-dashboard

我正在尝试让 rq-dashboard 在通过 Heroku 创建的 Redis 服务器上工作。我将它添加到我的 Flask 应用程序中

但是在访问/rq我得到的 URL时

关于做什么的任何建议?

0 投票
0 回答
189 浏览

flask - 获取已在执行的当前作业 ID(RQ 包)

我正在使用 Flask 在繁重的视频分析代码上构建 UI。我需要添加一个实现来停止后台任务。为此,我需要获取当前正在执行的作业 ID,然后停止它。

我的 init 文件从 - 导入 redis 连接

一切都运行良好,但我现在需要添加一个选项来停止当前正在运行的后台任务。

0 投票
0 回答
205 浏览

kubernetes - Flask redis queue (RQ) worker 从 Vault 更新父进程

我正在研究在 k8s 上构建系统并在两个不同的 pod(提供者和服务器)上运行两个独立进程的项目,一个 pod(提供者)负责收集数据,另一个(服务器)与提供者交谈并向客户端检索数据. 对于两个 pod(提供者和服务器),我使用 RQ worker https://python-rq.org/docs/workers/在提供者端排队工作,我存储在 Vault https://www.vaultproject 上的所有配置密钥。 io/docs并且当我在 k8s 上运行一个 pod(提供程序)时,它可以在 Vault 的服务器上获取所有正确的密钥,但是如果我稍后在 Vault 上修改一些配置,提供程序 pod 仍然会读取旧配置,直到我重新启动提供程序 pod .

我认为当运行 RQ worker 时,它将从 Vault 检索所有搜索配置并将其存储在父进程中,因此每个函数都在子进程上运行(https://python-rq.org/docs/workers/),在python中将再次使用父进程的Vault初始化。那么,每次我更改 Vault 上的配置时,如何在不重新启动 pod 的情况下更新父进程上的这些进程。

0 投票
0 回答
216 浏览

django - Django RQ asyncio.TimeoutError

我将 django-rq 和 redis 用于队列任务。超时:6000 但我收到超时错误。

当我第一次开始工作时它以某种方式工作,并且这段代码也可以在没有队列的情况下工作

这是我的队列代码:

这是我的错误代码

0 投票
1 回答
161 浏览

python - 使用 redis 队列在另一个作业中调度/排队作业

Tasker类在实例化时设置初始作业。基本上我想要的是在'main_queue'中放置一个作业,决定作业是否正在运行或者是否已经有相同的作业在'process_queue'中排队,从当前的'main_queue'作业返回。否则在“process_queue”中排队作业。当该进程队列完成时,将作业放入“main_queue”。

然而,“process_queue”在这段时间内具有与 id 相同的工作,尽管它应该已经完成​​了对输出的查看。所以一个新的工作永远不会被投入处理。是否发生了我看不到的僵局?

main_queue 工作者

进程队列工作者

任务者.py

任务.py

0 投票
1 回答
88 浏览

flask - RQ 作业的 Flask 上下文(RuntimeError:在应用程序之外工作)

首先,关于flask_context 的问题包括RQ 作业的上下文似乎是常见问题,但我搜索了很多,仍然无法解决我的问题。

我的装饰器功能(在不同的变体中尝试了它们):

在函数under_decorator_func 中使用flask.current_app

问题:

我也在创建应用程序后立即尝试过app.app_context().push(),所以我不知道这里发生了什么。

0 投票
0 回答
83 浏览

python - 如何在具有 Redis 排队作业的 Flask 应用程序中使用 PostgreSQL 和 SQLAlchemy

当直接在 Flask 应用程序中的 API 调用上使用 SQLAlchemy 执行 SQL 查询时,它们会成功执行,但是当我尝试在我的函数中执行一个使用 Redis 作业队列执行的函数时,我收到以下错误:RuntimeError: No application found. Either work inside a view function or push an application context.函数存储在单独的文件中,而不是app.py.

我的app.py

在我models.py的 setup_db 中看起来像这样:

然后在我调用作业时触发的函数中:

其中 User 是我在models.py.

0 投票
2 回答
349 浏览

flask - 这不适用于带有 SqlAlchemy 数据库表的 Flask Rq 队列

我有一个 Flask 项目。过程工作正常。数据库是 PostgreSql。一切都在这个数据库上工作。但是当我可以使用 Python Rq 时,我无法使用 SqlAlchemy 访问表。我的项目在heroku上。我怎么解决这个问题。

注意:(队列操作正常工作,除了数据库)

初始化.py

工人.py

主文件

bash (heroku logs --tail) 代码 错误结果

0 投票
0 回答
244 浏览

python - TypeError: cannot pickle '_thread.lock' object with RQ (Redis Queue) [python 3.9 & 3.8 & 3.7]

我一直在尝试使用 rq 对来自 BigQuery 的 API 请求进行排队,因为它们需要很长时间,我得到了 H12(超时)错误。当将数据帧传递给下一个队列时,代码会不断崩溃。

这是我的worker.py文件:

这是错误的来源:

第一个函数所做的只是调用 api 将数据下载到 data_full 数据帧,然后将其传递给另一个函数以创建用于可视化目的的数组。

完整的错误报告:

我已经用 python 版本 3.7.11 & 3.8.10 & 3.9.6 试过了,都得到了同样的错误

唯一提到类似问题的解决方案是在这个线程中,但降级到 3.7 的解决方案对我不起作用。