加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-17 04:20:35 所属栏目:百科 来源:网络整理
导读:我正在使用多RAILS_Env的Rails应用程序 env_name1: adapter: mysql username: root password: host: localhost database: db_name_1env_name2: adapter: mysql username: root password: host: localhost database: db_name_2...... 我正在使用delayed_job(2
我正在使用多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
...
..
.

我正在使用delayed_job(2.0.5)插件来管理异步和背景工作.

我想为每个RAILS_ENV启动多个delayed_job:

RAILS_ENV=env_name1 script/delayed_job start

RAILS_ENV=env_name2 script/delayed_job start
..

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

我的问题:每个RAILS_ENV都不可能运行多个delayed_job实例吗?
谢谢

解决方法

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

RAILS_ENV = env_name1 script / delayed_job -i 1 start

RAILS_ENV = env_name2脚本/ delayed_job -i 2开始

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

一个问题是,当你这样做时,你也必须在停止时使用相同的标志.在呼叫停止时省略-i 1或-i 2不会阻止它们.由于延迟工作将无法找到正确的相应流程来停止.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读