Resque-Scheduler не работает с ActiveJob в Rails 4.2

Кто-нибудь смог получить запланированные задания для работы в Rails 4.2?

Я использую Resque, и я пытаюсь использовать Resque-планировщик для планирования заданий. У меня есть расписание, которое загружается, и планировщик запускается, и даже выглядит, как будто он выполняет задания, но ничего не делает.

resque-scheduler: [INFO] 2014-09-16T01:54:25-07:00: Starting
resque-scheduler: [INFO] 2014-09-16T01:54:25-07:00: Loading Schedule
resque-scheduler: [INFO] 2014-09-16T01:54:25-07:00: Scheduling friends 
resque-scheduler: [INFO] 2014-09-16T01:54:25-07:00: Schedules Loaded
resque-scheduler: [INFO] 2014-09-16T01:54:55-07:00: queueing FriendsJob (friends)

Я могу поставить в очередь такие работы, и они будут обработаны.

TestJob.enqueue(params[:id])

и я получаю этот вывод в журнале работника

got: (Job{default} | ActiveJob::QueueAdapters::ResqueAdapter::JobWrapper | ["TestJob", "98732ce5-17f7-4da3-9a03-a5d2f8f74e84", "8"])
** [01:24:01 2014-09-16] 54841: resque-1.25.2: Processing default since 1410855841  [ActiveJob::QueueAdapters::ResqueAdapter::JobWrapper]
** [01:24:01 2014-09-16] 54841: Running before_fork hooks with [(Job{default} | ActiveJob::QueueAdapters::ResqueAdapter::JobWrapper | ["TestJob", "98732ce5-17f7-4da3-9a03-a5d2f8f74e84", "8"])]
** [01:24:01 2014-09-16] 54841: resque-1.25.2: Forked 54882 at 1410855841
** [01:24:01 2014-09-16] 54882: Running after_fork hooks with [(Job{default} | ActiveJob::QueueAdapters::ResqueAdapter::JobWrapper | ["TestJob", "98732ce5-17f7-4da3-9a03-a5d2f8f74e84", "8"])]
Hello World!!
** [01:24:01 2014-09-16] 54882: done: (Job{default} | ActiveJob::QueueAdapters::ResqueAdapter::JobWrapper | ["TestJob", "98732ce5-17f7-4da3-9a03-a5d2f8f74e84", "8"])

Но когда я пытаюсь наметить работу, похоже, что меня ставят в очередь, но они ничего не делают.

Вот расписание.

friends:
  every: "30s"
  queue: "friends"
  class: "FriendsJob"
  args: 8
  description: "Friends jobs scheduler"

Вот выход из запланированной работы.

** [01:23:36 2014-09-16] 54841: got: (Job{friends} | FriendsJob | [8])
** [01:23:36 2014-09-16] 54841: resque-1.25.2: Processing friends since 1410855816 [FriendsJob]
** [01:23:36 2014-09-16] 54841: Running before_fork hooks with [(Job{friends} | FriendsJob | [8])]
** [01:23:36 2014-09-16] 54841: resque-1.25.2: Forked 54880 at 1410855816
** [01:23:36 2014-09-16] 54880: Running after_fork hooks with [(Job{friends} | FriendsJob | [8])]
** [01:23:36 2014-09-16] 54880: done: (Job{friends} | FriendsJob | [8])

После прочтенияhttp://dev.mikamai.com/post/96343027199/rails-4-2-new-gems-active-job-and-global-id Я подозреваю, что это как-то связано с ActiveJob и GlobalId.

Посмотрите на разницу в очереди

** [01:24:01 2014-09-16] 54841: Running before_fork hooks with [(Job{default} | ActiveJob::QueueAdapters::ResqueAdapter::JobWrapper | ["TestJob", "98732ce5-17f7-4da3-9a03-a5d2f8f74e84", "8"])]

против запланированного

** [01:23:36 2014-09-16] 54841: Running before_fork hooks with [(Job{friends} | FriendsJob | [8])]

Сами рабочие места были созданы с помощью

 rails g job <JobName>

Они выглядят так:

class TestJob < ActiveJob::Base
  queue_as :default
  def perform(friend_id)
    friend = Friend.find(friend_id)
    name = friend.name.swapcase
    puts "Hello World!!"
  end
end


class FriendsJob < ActiveJob::Base
  queue_as :friends
  def perform(friend_id)
    friend = Friend.find(friend_id)
    name = friend.name.swapcase
    puts "Hello World!!"
  end
end

Любая помощь с этим будет принята с благодарностью и заранее спасибо.

********* ОБНОВИТЬ *********

Я удалил action_job railtie и использую только Resque и Resque-Scheduler, и запланированные задания теперь работают. Так что, похоже, это связано с ActionJob / GlobalId. Я открыл вопрос в проекте рельсов. Надеюсь, они скоро это исправят.

****** ВТОРОЕ ОБНОВЛЕНИЕ ********* Я получил обновление об этом. Кристианбика, который работает в базе кода ActiveJob, сказал это. «Мы не думали о повторяющихся работах до сих пор, и мы не поддерживаем это, поскольку ни один из адаптеров не поддерживает это без внешнего драгоценного камня. Однако это очень хорошая функция, но я не думаю, что мы сможем сделать это вовремя 4.2. Также я не уверен, что это подходит для включения в рельсы "

Ответы на вопрос(3)

Ваш ответ на вопрос