NoMethodError at /resque/stats/keys/timestamps:%7B undefined method `>' for []:Array
是由于产生大量带有resque和resque-scheduler的延迟作业并单击stats / keys链接之一(此处为底部)而出现的错误。
在错误的详细信息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”。
因此存在错误,指示为时间戳(处理或格式)错误。
错误在哪里,如何解决?