Laravel Console Mutex

Автор:Игорь Тельменко

Laravel Console Mutex

Пакет Laravel Console Mutex - предотвращает одновременное выполнение одной и той же команды. Это помогает избежать различного рода конфликтов в данных и лишнего расходования ресурсов сервера.

Установка пакета:

Для использования необходимо указать trait WithoutOverlapping:

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

  • file (default)
  • mysql
  • redis
  • memcached

Таким образом, можно выбрать БД или иное хранилище для данных о Mutex-е.

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

Можно для нескольких команд задать имя мютекса, чтобы для них можно было использовать общий Mutex.

Оставить ответ