gpt4 book ai didi

ruby-on-rails - 每个 RAILS_ENV 运行多个 delay_job 实例

转载 作者:行者123 更新时间:2023-12-04 10:20:44 24 4
gpt4 key购买 nike

我正在开发具有多个 RAILS_Env 的 Rails 应用程序

env_name1:
adapter: mysql
username: root
password:
host: localhost
database: db_name_1

env_name2:
adapter: mysql
username: root
password:
host: localhost
database: db_name_2
...
..
.

我正在使用 delay_job (2.0.5) 插件来管理异步和后台工作。

我想为每个 RAILS_ENV 启动多个 delay_job:
RAILS_ENV=env_name1 script/delayed_job start

RAILS_ENV=env_name2 script/delayed_job start
..

我注意到我只能运行一个 delay_job 实例
第二,我有这个错误“错误:已经有一个或多个程序正在运行”

我的问题:不能为每个 RAILS_ENV 运行多个 delay_job 实例吗?
谢谢

最佳答案

您可以运行多个延迟作业实例,只要它们具有不同的进程名称即可。就像 Slim 在他的评论中提到的那样,您可以使用 -i 标志为进程名称添加唯一的数字标识符。所以命令看起来像:

RAILS_ENV=env_name1 script/delayed_job -i 1 start

RAILS_ENV=env_name2 script/delayed_job -i 2 start

这将创建两个单独的延迟作业实例,将它们命名为 delay_job.1 和 delay_job.2

一个问题是,当您这样做时,您还必须在停止它们时使用相同的标志。在调用 stop 时省略 -i 1 或 -i 2 不会停止它们。由于延迟的工作将无法找到正确的相应进程来停止。

关于ruby-on-rails - 每个 RAILS_ENV 运行多个 delay_job 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8048542/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com