0

我在我的 rails 应用程序中使用 resque 和 resque-scheduler。我在使用 resque-scheduler 时遇到了奇怪的问题。一旦使用“执行”方法完成,我的一项工作就不会从队列中删除。我需要明确地杀死它以退出队列,然后队列中的其他作业开始执行。

作业类很简单,例如:

                    class FooJob
                      @queue = :high_volume

                      def self.perform
                        puts "FooJob#perform:"
                        # some method call
                      end
                    end

resque_schedule.yml 包含:

                    add_jobs_from_foo:
                      cron: "15 * * * *"
                      class: FooJob
                      description: "enqueue jobs from Foo"

宝石版本可能有问题吗?或任何其他?

4

2 回答 2

0

lets try this gem "resque-status"

get job status-

status = Resque::Plugins::Status::Hash.get(job_id)

Resque::Plugins::Status::Hash.get(job_id) object gonna returns:

status.pct_complete #=> 0
status.status #=> 'queued'
status.queued? #=> true
status.working? #=> false
status.time #=> Time object        
status.message #=> "Created at ..."

get this gem and for details: https://github.com/quirkey/resque-status

于 2012-10-04T06:17:12.607 回答
0

你真的是直接看redis来验证的吗?perform该作业甚至在开始执行之前就从队列中删除。

于 2011-04-05T16:38:17.023 回答