问题标签 [django-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 投票
1 回答
1038 浏览

docker - 无法从 rq.exceptions 导入名称“UnpickleError”

当我使用 docker-compose 运行图像时出现错误这是我的 pipfile 与库 rq 我尝试升级图像但在 django-rq 中出现错误,但我没有更改这个库我只添加到我的 docker 文件中用于安装库 pyodbc 的命令 unixodbc-dev 现在无法使用另一个库

但是当我在本地进行 docker-compose 时出现此错误,我的 python 版本是 3.7.4,这是我的 dockerfile 配置

0 投票
0 回答
36 浏览

django - 使用 Django-RQ,模型查询仅在第二次运行时有效

使用Django-RQ (v2.3.0)查询(PostgreSQL)数据库仅在完成两次后才有效。这是设置:

models.py

tasks.py

AnalysisResult.objects.get(public_id=result_id)django-admin shell第一次尝试时总是运行良好。而且我非常不想使用上述尝试查询记录两次的解决方法。就是觉得太脏了。

感谢您提供有关此处可能缺少的内容的指针。

0 投票
1 回答
140 浏览

django - 使用 django_rq 在 django 中一段时间​​(24 小时)后发送电子邮件

我有一个网站,其中用户个人资料有多个注册步骤。如果用户已完成第 1 步但未完成第 2 步,比完成第 1 步晚 24 小时,我想向用户发送电子邮件。因此,在第 1 步完成后,我想设置一个在 24 小时后运行的任务,并且检查是否User.profile_status == completed_step_2,如果不是,请向他/她发送一封电子邮件,要求完成他们个人资料的第 2 步。我怎样才能做到这一点?提前致谢。

0 投票
1 回答
87 浏览

django - Django 模型上的后台工作人员和覆盖保存方法

我有一个长期运行的过程,它依赖于模型字段。

假设我有一个看起来像这样的模型

我想每次更新这个模型时触发一个后台任务,但问题是我还需要在后台任务更新实例后调用save方法。

它大致看起来像这样。

这段代码的问题是它会导致无限循环,因为我在save方法上调用了后台任务,而我在后台任务中调用了save方法。

我一直收到这个错误

RecursionError: maximum recursion depth exceeded while calling a Python object

在我研究了这个问题之后,我找到了一个解决方案,它建议使用带有 created 属性的 post_save 信号,然后检查实例是否已创建,然后执行任务,如果它刚刚更新,我会跳过它,因为这意味着它正在从后台工作人员调用保存。

信号看起来像这样:

现在的问题是,我想要一个更新功能,并且我希望在更新模型时触发后台任务,但它目前仅在创建对象时触发。

我有一个解决方案,但我不确定如何实现它或者它是否可行,即将计算字段从输入字段拆分为两个不同的模型。

非常感谢任何帮助。

0 投票
1 回答
457 浏览

django - django-rq 和 python-rq 中理想的工作人员数量是多少?

我有一个关于 django-rq 的问题。它是 pip 安装的库,作为 python-rq 之上的一个小层,它在 redis 实例上运行。目前,我在本地 redis 实例上使用数据库 0 的默认队列上运行所有作业。

我通过在默认队列上为 x 个工作人员运行以下脚本 x 次来启动工作人员:

我在 8 核 / 32GB RAM 机器上运行。对于每个传入的请求,都需要一个工作人员来处理该作业,这在后台进程中通常需要 3 到 60 分钟,该进程使用 OpenCV、Tesseract 和一些其他 API,并在此过程中发出一些 HTTP 请求。

我如何知道我应该使用的 rq 工作人员的理想数量?我正在查看管理面板,上面写着 8 名工人。这是我应该使用的理想工人数量吗?我应该使用 20 吗?100个怎么样?

我如何考虑以下变量,以便选择我应该启动的正确数量的工人:

  1. 传入请求数
  2. 每个进程所需的 RAM 量
  3. 核心数
  4. 工人可能崩溃的可能性
0 投票
0 回答
190 浏览

python - Django-RQ 很难将项目添加到 Django 模型

我正在使用 django-rq 使用 Redis 设置后台任务。Redis 运行良好,代码正在向 Redis 发送请求 - 但它正在引发异常。

这是代码的简化版本。

我怎样才能让它 django-rq 可以与 django 模型交互?还是有不同的问题在起作用?

0 投票
1 回答
194 浏览

python - 使用 docker-compose 'command:' 运行时,Supervisord 退出 Docker 容器,但从 bash 运行时不会退出

我正在尝试在 docker 容器中运行 DjangoRQ 工作人员 - 一个简单的“工作人员”容器,我将在数字海洋水滴上运行。我正在使用 supervisord 来运行多个工作人员。

如果我将容器命令设置为sleep 3600(这样我可以在它崩溃之前 bash 进入),Supervisord 就会运行,然后 bash 进入容器并运行supervisord -c supervisord.conf. 但是,如果我将容器上的命令设置为相同的命令,command: supervisord -c supervisord.conf则容器退出时说Unlinking stale socket /tmp/supervisor.sock

0 投票
0 回答
35 浏览

python - Python RQ 或 Django RQ 是否使用多个处理器?

我每天在 EC2 实例上使用 Python RQ。我的团队面临的挑战之一是我们的团队在 Python 领域相对年轻,不熟悉多线程和多处理。目前,对于给定的请求,我们在一个核心上做所有事情。

Python RQ(以及扩展的 Django RQ,我们使用的特定库)是否使用多处理?它使用多个核心吗?如果没有,有没有办法我们可以做到这一点?

我们应该将worker的数量设置为我们拥有的核心数量吗?

0 投票
0 回答
216 浏览

django - Django RQ asyncio.TimeoutError

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

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

这是我的队列代码:

这是我的错误代码

0 投票
0 回答
24 浏览

django - 我是否对 Django-RQ 使用与我的 Django 项目相同的数据库?

我正在尝试在我的 Django 项目中实现django-rq 。

在我的settings.py我需要包括一些后端信息(取自指南)

我对 Redis 和作业排队完全陌生,所以我想知道,我是否应该使用与我的模型相同的凭据,DATABASES即使用与我的模型相同的数据库,或者为排队使用不同的数据库是最佳实践? 如果这有任何影响,我的 Django 数据库是 Google SQL 服务器上的 PostgreSQL。