resque调度程序作业因时间戳错误而无法启动

时间:2018-09-06 10:47:09

标签: ruby-on-rails resque-scheduler

NoMethodError at /resque/stats/keys/timestamps:%7B  undefined method `>' for []:Array

是由于产生大量带有resque和resque-scheduler的延迟作业并单击stats / keys链接之一(此处为底部)而出现的错误。
resqueue-scheduler 在错误的详细信息sinatra.route GET /stats/keys/:key/?中 我将其解释为缺少时间戳键。

这些作业是通过调用一个控制器动作生成的

Resque.enqueue_at(@time, DelayedMailer, @fg.id, @mailing.id)

出于测试目的,控制器puts预先存储数据,例如:

2018-09-06 10:50:08 +0200  [@time]
9                          [@fg.id]
23                         [@mailing.id]

@time是通过Time.now +整数秒生成的。然后,Jobs类处理

class DelayedMailer
  @queue = :mail

  def self.perform(time, fg_id, mailing_id)
    fg = Fg.where('id = ?', fg_id).first
    mailing = Mailing.where('id = ?', mailing_id).first
    BasicMailer.contact(fg, mailing).deliver_now
  end

队列统计信息为“已处理= 0”。
因此存在错误,指示为时间戳(处理或格式)错误。 错误在哪里,如何解决?

0 个答案:

没有答案