【发布时间】:2016-10-20 04:50:30
【问题描述】:
我的后台作业最多可能需要 5 分钟。我刚刚检查了我的 Resque 队列,我看到有“75 名工人在工作”,尽管这些工人几天前就开始工作了。
这是什么意思?作业完成了吗?为什么会这样卡住,我该如何处理?
这是我的工作:
class CalculateRelevantEventRankingsForUser
@queue = :calculate_relevant_event_rankings_for_user
def self.perform(user_id, newly_voted_event_id)
begin
user = User.find(user_id)
events_to_rerank = user.events_that_share_keywords(newly_voted_event_id)
events_to_rerank.each do |e|
e.rank(user_id)
end
rescue Resque::TermException
Resque.enqueue(self, user_id, newly_voted_event_id)
end
end
end
还有procfile:
resque: env TERM_CHILD=1 bundle exec rake resque:workers QUEUE='*' COUNT='1'
【问题讨论】:
-
您是否有更多信息,例如您如何设置队列或有关您的 5 分钟工作的信息?
-
向 OP 添加了一些额外的细节
标签: ruby-on-rails heroku resque