Ice Cube, как установить правило каждый день в определенное время для Sidetiq/Fist of Fury

Согласно документам, я думал, что это будет (каждый день в 15:00)

daily.hour_of_day(15)

То, что я получаю, является случайным беспорядком. Во-первых, он выполняется всякий раз, когда я нажимаю на Heroku, независимо от времени, а затем, по-видимому, случайным образом. Таким образом, последний толчок к Heroku был в 13:30. Он выполнялся: дважды в 13:30, один раз в 14:00, один раз в 16:00, один раз в 17:00.

Мысли о том, что не так?

Полный код (обратите внимание, что это для драгоценного камня Fist of Fury, но FoF находится под сильным влиянием Sidetiq, поэтому помощь от пользователей Sidetiq также будет полезной).

class Outstanding
include SuckerPunch::Job
include FistOfFury::Recurrent

recurs { daily.hour_of_day(15) }

def perform
    ActiveRecord::Base.connection_pool.with_connection do 

        # Auto email lenders every other day if they have outstanding requests
        lender_array = Array.new
        Inventory.where(id: (Borrow.where(status1:1).all.pluck("inventory_id"))).each { |i| lender_array << i.signup.id }
        lender_array.uniq!
        lender_array.each { |l| InventoryMailer.outstanding_request(l).deliver }

    end
end

конец


person james    schedule 01.08.2014    source источник


Ответы (1)


Возможно, вам следует использовать:

  recurrence { daily.hour_of_day(15) }

вместо рецидивов?

person Groove    schedule 11.06.2015