Rails开发环境Resque.enqueue不会创建作业

Ant*_*tov 6 ruby-on-rails resque redis

我有像Rails自定义环境一样的问题Resque.enqueue不创建作业,但那里的解决方案对我不起作用.

我正在使用Resque几个异步作业.它适用于staging环境,但由于某种原因它停止了development环境工作.

例如,如果我运行以下内容:

$ rails c development

> Resque.enqueue(MyLovelyJob, 1)
Run Code Online (Sandbox Code Playgroud)

什么都没有排队.我检查Resque使用resque-web

如果我在分期运行它 - 它工作得很好.

$ rails c staging

> Resque.enqueue(MyLovelyJob, 1)
Run Code Online (Sandbox Code Playgroud)

我试图复制2环境,他们似乎使用完全相同的配置(database.yml,配置/环境等),但development仍然无法正常工作.

如果我做

 > Resque.enqueue(UpdateInstancesData, 2)
 > => true

 > Resque.info
 > => {
 >       :pending => 0,
 >     :processed => 0,
 >        :queues => 0,
 >       :workers => 1,
 >       :working => 0,
 >        :failed => 0,
 >       :servers => [
 >       [0] "redis://127.0.0.1:6379/0"
 >   ],
 >   :environment => "development"
 > }
Run Code Online (Sandbox Code Playgroud)

有什么建议去哪里调试这个?

我正在通过领班运行应用程序.我的Procfile看起来像:

faye:rackup faye.ru -s thin -E production

worker1:bundle exec rake resque:work QUEUE =*VERBOSE = 1

worker2:bundle exec rake resque:work QUEUE =*VERBOSE = 1

clock:bundle exec rake resque:scheduler VERBOSE = 1

web:bundle exec rails s


因为staging,如上所述,一切正常,工头的日志是:

17:03:42 clock.1       | 2013-06-26 17:03:42 Reloading Schedule
17:03:42 clock.1       | 2013-06-26 17:03:42 Loading Schedule
17:03:42 clock.1       | 2013-06-26 17:03:42 Scheduling logging_test
17:03:42 clock.1       | 2013-06-26 17:03:42 Schedules Loaded
17:03:43 worker2.1     | *** Starting worker ttttt-mbp.local:69573:*
17:03:43 worker2.1     | *** Registered signals
17:03:43 worker2.1     | *** Running before_first_fork hooks
17:03:43 worker1.1     | *** Starting worker ttttt-mbp.local:69572:*
17:03:43 worker1.1     | *** Registered signals
17:03:43 worker2.1     | *** Checking another_queue
17:03:43 worker2.1     | *** Checking anotherqueue
17:03:43 worker2.1     | *** Checking statused
17:03:43 worker2.1     | *** Found job on statused
17:03:43 worker2.1     | *** got: (Job{statused} | LoggingTest | ["57e89a1c1b24ce6866bcf5d0e1c07f01", {}])

17:06:30 clock.1       | 2013-06-26 17:06:30 queueing LoggingTest (logging_test)
17:06:33 worker1.1     | *** Checking another_queue
17:06:33 worker2.1     | *** Checking another_queue
17:06:33 worker1.1     | *** Checking anotherqueue
17:06:33 worker2.1     | *** Checking anotherqueue
17:06:33 worker1.1     | *** Found job on anotherqueue
17:06:33 worker1.1     | *** got: (Job{anotherqueue} | LoggingTest | ["0d976869a945766e0cfeca83e7349305", {}])
17:06:33 worker1.1     | *** resque-1.24.1: Processing anotherqueue since 1372259193 [LoggingTest]
17:06:33 worker1.1     | *** Running before_fork hooks with [(Job{anotherqueue} | LoggingTest | ["0d976869a945766e0cfeca83e7349305", {}])]
17:06:33 worker1.1     | *** resque-1.24.1: Forked 69955 at 1372259193
17:06:33 worker2.1     | *** resque-1.24.1: Forked 69956 at 1372259193
17:06:33 worker1.1     | *** Running after_fork hooks with [(Job{anotherqueue} | LoggingTest | ["0d976869a945766e0cfeca83e7349305", {}])]
17:06:33 worker1.1     | JOB :: LoggingTest
17:06:33 worker1.1     | 55555
17:06:33 worker1.1     | *** done: (Job{anotherqueue} | LoggingTest | ["0d976869a945766e0cfeca83e7349305", {}])
Run Code Online (Sandbox Code Playgroud)

而因为development它似乎没有排队然后找到工作.如果队列中已有作业(待处理,暂存环境中遗留),则开发人员不会处理该作业.

17:01:23 clock.1       | 2013-06-26 17:01:23 Reloading Schedule
17:01:23 clock.1       | 2013-06-26 17:01:23 Loading Schedule
17:01:23 clock.1       | 2013-06-26 17:01:23 Scheduling logging_test
17:01:23 clock.1       | 2013-06-26 17:01:23 Scheduling update_instances_data
17:01:23 clock.1       | 2013-06-26 17:01:23 Schedules Loaded

17:03:10 clock.1       | 2013-06-26 17:03:10 queueing LoggingTest (logging_test)
17:03:14 worker1.1     | *** Checking another_queue
17:03:14 worker2.1     | *** Checking another_queue
17:03:14 worker1.1     | *** Checking anotherqueue
17:03:14 worker2.1     | *** Checking anotherqueue
17:03:14 worker1.1     | *** Checking statused
17:03:14 worker2.1     | *** Checking statused
Run Code Online (Sandbox Code Playgroud)

Ant*_*tov 24

问题结果是我在Gemfile中gem 'resque_spec'也有了这个:development组.显然这是一件非常错误的事......