как я могу запускать задачу рейка каждое 4-е воскресенье каждого месяца в рельсах?

у меня есть задача грабли. я хочу, чтобы эта задача выполнялась каждое 4-е воскресенье каждого месяца. я использую всякий раз, когда драгоценный камень. как я могу определить логику в config/schedule.rb, чтобы она запускалась каждое 4-е воскресенье каждого месяца в Rails? пожалуйста, помогите мне.

это моя задача грабли app/lib/tasks/my_task.rake.

task :do_something => :environment do

end

это мой код в config/schedule.rb

every :sunday, :at => '12pm' do 
  runner "Employee.make_checkin_out"
end

как я могу изменить приведенную выше логику?


person John    schedule 29.09.2015    source источник
comment
возможный дубликат Как запустить задачу rake, используя всякий раз, когда в Рельсы   -  person Pavan    schedule 29.09.2015
comment
но на этот вопрос нет ответа.   -  person John    schedule 29.09.2015
comment
Да, я написал один на прошлой неделе.   -  person Max Williams    schedule 29.09.2015
comment
Мало того, что этот вопрос дубликат, так еще и автор такой же! @John - если вы не получили ответа на свой другой вопрос (что вы, на самом деле, и сделали), то, пожалуйста, не просто слегка меняйте формулировку и не ставьте его как другой вопрос: это просто тратит время людей.   -  person Max Williams    schedule 29.09.2015


Ответы (1)


всякий раз, когда гем дает возможность генерировать задание cron. Это планировщик для rake-задач. Вы можете определить как

every 1.month, :at => '4:30 am' do
  runner "MyModel.task_to_run_at_four_thirty_morning_every_month"
end

Если вы хотите что-то вроде 1-го воскресенья каждого месяца, используйте редактор cron, например

0 12 1-7 * * [ "$(date '+\%a')" = "Sun" ]

person Arpit Vaishnav    schedule 29.09.2015