OneCode
1.39K subscribers
628 photos
59 videos
3 files
524 links
Full Stack на PHP, Laravel и всё, что с этим связано.
YouTube: https://www.youtube.com/@onecode_blog
Download Telegram
OneCode
Интервалы - первый бонус от использования Octane Используя Laravel Octane мы можем любую запускать функцию с определённым интервалом. Например мне нужно обновлять курсы валют каждые 10 секунд. По крону этого НЕ сделать, потому что там минимальный интервал…
Дополнение - интервалы у октан штука хорошая, но надо понимать ньюансы:

Например, если у тебя несколько серверов приложения (масштабирование), на которых работает Octane, тогда эта функция с интервалом будет выполняться на каждом сервере. То есть на 3 серверах функция будет запускаться 3 раза каждые 10 секунд - скорее всего это НЕ то, чего мы хотим.

У меня планируется всего один сервер, поэтому мне подходит такой вариант. В будущем, если понадобится, можно будет перенести выполнение функции в другое место - главное НЕ размещать логику (код функции) прямо здесь в провайдере. Лучше инкапсулировать (разместить) её, например в консольную команду (artisan) и вызывать эту команду здесь. Или в любом другом месте.

На будущее есть еще пакет
spatie/laravel-short-schedule
, который тоже решает задачу вызова функции с коротким интервалом. Пакет предоставляет нам интерфейс, аналогичный task scheduling из ларавел - будет привычно.

Не совсем понятно как перезапускать этот процесс из пакета - встроенной команды для этого там нет. Но думаю можно что-то придумать. Или просто перезапускать его каждую минуту - такая возможность есть.

В общем тема интересная. Не часто, но иногда надо вызывать ккакую-то функцию автоматически с интервалом в несколько секунд. Если в будущем понадобится - помни, что варианты всегда есть 😃

https://github.com/spatie/laravel-short-schedule

#laravel #spatie #interval #tick #schedule
👍5