相关疑难解决方法(0)

Ruby on Rails延迟工作本地不会运行

我正在处理活动记录宝石的延迟工作https://github.com/collectiveidea/delayed_job 我正在尝试设置一个工作,在我的应用程序中发生事件后运行五分钟.五分钟过后,我需要进行一些数据库更新.我尝试过rake jobs:work和RAILS_ENV =开发脚本/ delayed_job start.在此之前,我已经运行了bundle install,rails generate delayed_job:active_record和rake db:migrate.我有一个彩票网站,需要每五分钟检查一次获胜者,并为获胜的玩家更新令牌.

我等了五分钟,但我的本地应用程序没有更新.

这是我到目前为止所拥有的:

宝石文件:

 gem 'delayed_job_active_record'

 gem "daemons"
Run Code Online (Sandbox Code Playgroud)

工作(位于lib)

class WinnersJob < Struct.new(:blast_id)
def perform
      ...
    end
Run Code Online (Sandbox Code Playgroud)

调节器

 require 'winners'
 Delayed::Job.enqueue(WinnersJob.new(blast.id), 1, 5.minutes.from_now)
 end
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails delayed-job

4
推荐指数
1
解决办法
5860
查看次数

Rails延迟了工作和码头工人:增加了更多工人

我使用Docker运行我的rails应用程序.延迟作业由单个工作程序处理,该工作程序在一个单独的控制器中运行,worker并且在其内部工作程序使用命令运行bundle exec rake jobs:work.

我有几种类型的工作,我想移动到一个单独的队列,并为此创建一个单独的工作者.或至少有两名工人负责过程任务.

我尝试运行我的工作容器,env QUEUE=default_queue bundle exec rake job:work && env QUEUE=another_queue bundle exec rake job:work但这没有任何意义.它没有失败,是启动但不处理作业.

有没有办法让一个容器中有单独的工人?这是对的吗?或者我应该为每个我想做的工人创建单独的容器?

Thanx提前!

ruby-on-rails delayed-job docker

1
推荐指数
1
解决办法
2461
查看次数

标签 统计

delayed-job ×2

ruby-on-rails ×2

docker ×1

ruby ×1