我可以帮助您翻译以下内容,这是与IT技术相关的问题:
但是执行后,我得到以下错误:-
请有人提供建议或帮助我解决这个问题。谢谢!:)
我遇到了一个问题,不知道如何删除Sidekiq预定任务。
我尝试了很多方法,但都没有成功。
以下是我的代码:
class UpdatePopularityWorker
include Sidekiq::Worker
sidekiq_options queue: 'es_sync'
def perform(city_id=nil)
clear_popularity_jobs(city_id)
time = ENV['UPDATE_POPULARITY'].present? ? ENV['UPDATE_POPULARITY'].to_i : 60.minutes
UpdatePopularityWorker.perform_in(time, city_id)
end
private
def clear_popularity_jobs(city_id)
queued_jobs = Sidekiq::ScheduledSet.new("es_sync")
jobs = queued_jobs.select{|retri|
retri.args == 'UpdatePopularityWorker'
}
jobs.each(&:delete)
end
end
但是执行后,我得到以下错误:-
{"context":"Job raised exception","job":{"class":"UpdatePopularityWorker","args":[],"retry":true,"queue":"es_sync","jid":"db75d1e92933dfad69449dfa","created_at":1568050410.422802,"enqueued_at":1568050410.423174,"error_message":"wrong number of arguments (given 1, expected 0)"
当我尝试在控制台中执行时,也会因为错误的参数而出现错误:
Sidekiq::ScheduledSet.new("es_sync")
ArgumentError: wrong number of arguments (given 1, expected 0)
请有人提供建议或帮助我解决这个问题。谢谢!:)