У PHP-фреймворку Laravel, у виробничих середовищах, такі виконавці, як, наприклад, супервайзер , забезпечують виконання завдань, що зберігаються в Redis . Якщо ви хочете бути повністю незалежними від цього на localhost, ви можете використовувати драйвер синхронізації для негайного виконання завдань. Однак це має недолік: поточний PHP-процес блокується, і запит зависає, доки завдання не завершиться.
Краще викликати інший екземпляр PHP, який ініціює одноразовий робочий прохід. Наступна реалізація також піклується про відмінності Windows / Mac / Linux. Спочатку ми визначаємо роботу звичайним способом:
e24ced88a284d02f2ab5c64bb5905fce
Потім ми створюємо загального помічника, який опікується виконанням:
e24ced88a284d02f2ab5c64bb5905fce
Нарешті, ми викликаємо цю функцію в контролері:
e24ced88a284d02f2ab5c64bb5905fce