Избегайте голодания с помощью стаи с 2 процессами с блокировкой записи и чтения

У меня есть два сценария, назовем их script1 и script2.

Сценарий1 назначается каждые 2 минуты, и выполнение выполнения сценария занимает 4 минуты, каждые 30 минут – на выполнение 4 минут. В настоящий момент я использую flock в сценариях, чтобы гарантировать, что сценарий1 и скрипт2 никогда не запускаются одновременно. Однако исключительность блокировки записи заставляет сценарий1 никогда не выполняться одновременно.

В моем случае я хотел бы разрешить параллелизм сценария1 и не параллелизм с script2. Если я использую блокировку чтения между экземплярами сценария1, проблема в том, что я вызову голод для скрипта2, который он никогда не будет выполнен.

Есть ли разумный способ сделать это?

То есть, когда блокировка записи запрашивается, следующая блокировка чтения не предоставляется? Поскольку это проблема, в то время как script2 ждет блокировки записи, есть другие экземпляры сценария1, которые могут получить блокировку чтения и экземпляр script2 навсегда

Interesting Posts

Как сделать дистрибутив полноэкранным в VirtualBox?

RuntimeError: вам нужно установить gevent для использования этого рабочего

Замените одно поле другим, если его запись начинается с определенной буквы

Как обновить фон рабочего стола в различных средах рабочего стола?

Форматирование внешнего жесткого диска в совместимую с Linux файловую систему

Linux: Apple Wireless A1314 Fn ключ не зарегистрирован, выглядит как ошибка программного обеспечения

Работа для хранения количества XML-файлов

cd к самому недавно созданному каталогу

exec -t недействителен

Плагин Xfce4 WaveLAN не работает – проблема с разрешением?

Поделитесь репутацией git по локальной сети

pthread в реальном времени, созданный из потока, отличного от реального времени, с помощью init.d

Как установить дистрибутив Linux на мой DVD-RW?

Передавать аргументы командной строки скрипту bash

Цепочные команды в `watch`

Linux и Unix - лучшая ОС в мире.