telefono santa parroquia mensualidad gema galgani colegio ruby gem whenever

ruby - santa - cada vez que gema y la programación de un trabajo cada n min a partir de un desplazamiento



parroquia santa gema (3)

Parece que tienes una dependencia entre los dos trabajos, así que hay dos formas en que creo que puedes manejar esto. Si desea ejecutar en 1,6,11,16 y así sucesivamente, como lo sugiere su pregunta, simplemente use la sintaxis cron sin procesar:

every ''0,5,10,15,20,25,30,35,40,45,50,55 * * * *'' do command "echo ''you can use raw cron syntax one''" end every ''1,6,11,16,21,26,31,36,41,46,51,56 * * * *'' do command "echo ''you can use raw cron syntax two''" end

Pero probablemente sea mejor ejecutar el segundo trabajo una vez que termine el primero. Esto debería garantizar que los trabajos no se superpongan y que el segundo solo se ejecute cuando finalice el primero.

every 5.minutes do command "echo ''one'' && echo ''two''" end

Para fines asombrosos, estoy tratando de programar trabajos con una compensación de 2 minutos que se ejecutan cada 5 minutos. Es decir, quiero 1 trabajo para ejecutar 1,6,11,16 .. y el otro para correr a 2,7,12,17 ...

No pude encontrar un ejemplo para hacer esto. Así que lo intenté:

every 5.minutes, :at=> 1 do command "echo ''you can use raw cron sytax too''" end

Esto parece funcionar, pero todos los ejemplos '': at'' parecen esperar una hora en formato de cadena. ¿Es válido lo anterior o simplemente funciona y cada opción realmente no admite una hora de inicio.



every espera un entero.

Para evitar el problema de la manada, puedes hacer esto.

every 5.minutes - 10.seconds do command "echo first task" end every 5.minutes + 10.seconds do command "echo second task" end

También puedes aleatorizar el desplazamiento

def some_seconds (-10..10).to_a.sample.seconds end every 5.minutes + some_seconds do command "echo first task" end every 5.minutes + some_seconds do command "echo second task" end

Al igual que otras respuestas, esto no funcionará para tareas que dependen unas de otras. Si sus tareas dependen unas de otras, debe usar el rake para manejarlo o ejecutar el siguiente manualmente en su tarea.

# shedule.rb every 5.minutes do rake ''jobs:last_one'' end # Rakefile.rb namespace :jobs do task :first_one do sh ''first command'' end task second_one: [:first_one] do sh ''second_command that_should_run_after_first_one'' end task last_one: [:second_one] do sh ''last_command that_should_run_after_all_commands'' end end