Меня интересует, как использовать гем mini_scheduler для создания задачи, которая будет выполняться каждый понедельник в определенное время.
Я нашел опцию every 1.week в исходном коде Discourse, но не уверен, когда именно она будет срабатывать.
Меня интересует, как использовать гем mini_scheduler для создания задачи, которая будет выполняться каждый понедельник в определенное время.
Я нашел опцию every 1.week в исходном коде Discourse, но не уверен, когда именно она будет срабатывать.
Насколько мне известно, в мини-планировщике нет опции для указания дня, в который должна выполняться задача, но у нас есть возможность настроить ежедневный запуск задачи в определенное время. Поэтому мы можем настроить задачу следующим образом: daily at: 4.hours, а затем в методе execute выполнять нашу логику только если сегодня понедельник.
module Jobs
class YourCustomJob < ::Jobs::Scheduled
daily at: 4.hours
def execute(args)
return unless Time.zone.now.monday?
# На этом этапе должен быть понедельник
end
end
end