Может crontab прогон задания одновременно с собой?

Shift+PgUp/PgDn/Home/End прокрутит в терминале гнома и Терминале.

5
14.12.2012, 11:51
2 ответа

Нет, сценарии крона работают параллельно, если Вы не реализуете некоторый механизм блокировки.

Посмотрите Быстрый-и-грязный способ гарантировать, что только один экземпляр сценария оболочки работает за один раз и Корректные сценарии оболочки привязки? для возможных решений.

Более простой путь состоит в том, чтобы использовать lockfile, как в этом ответе или выполнении один пакет (см. этот ответ) - благодаря gertvdijk для предложения его.

9
27.01.2020, 20:34
  • 1
    я думаю, что это не 'самый простой' путь. См. этот ответ вместо этого. –  gertvdijk 14.12.2012, 13:19
  • 2
    @gertvdijk благодарит за подсказку, я улучшил свой ответ. –  jofel 14.12.2012, 14:54

Существует также whenjobs который имеет целью быть "мощной, но простой заменой крона". Из его страницы справочника:

ПРЕД ФУНКЦИИ

Перед прогоны задания, можно расположить, что "пред" функция назван. Эта функция может решить не выполнить задание (путем возвращения "false").

Одно использование для этого должно препятствовать тому, чтобы конкретное задание работало, если уже существует экземпляр того же выполнения задания:

job "only one"
pre (Whentools.one ())
every 10 seconds :
<<
  # Takes longer than 10 seconds to run, but 'Whentools.one ()'
  # will ensure only one is ever running.
  sleep 11
>>

(Это также обеспечивает Whentools.max n, разрешение n экземпляры задания для выполнения. По умолчанию это работает как Крон.)

2
27.01.2020, 20:34

Теги

Похожие вопросы