Laravel постоянно выполнять сложный скрипт
вопрос больше в том, как лучше поступить. Я делаю игру про майнинг. Пользователь собирает майнинг ферму, а потом ферма работает, нагревается и ТД. То есть на сервере должен постоянно работать скрипт, который будет в зависимости от комплектующих считать производительность, температуру, какие-то поломки и ТД. И все это для многих ферм многих пользователей.
То есть скрипт довольно ресурсоемкий.
- Как мне выполнять этот скрипт? Нужно выполнять его для всех пользователей хотя бы раз в минуту, чтобы пользователь видел, что его ферма работала.
Может как-то через очереди? Или schedule?
- К тому же нужно выводить новые значения на страницу - ферма нагрелась - пользователь должен это видеть.
Может быть использовать веьсокеты? Я видел laravel websocket by beyond code. Вроде бы это как раз то, что нужно и без nodejs.
Если для сокетов использовать nodejs, то будет проблематично связать году и ларавель. По крайней мере я так думаю.
Итак, ваши идеи Надеюсь на вашу помощь)
Ответы (1 шт):
Можете воспользоваться планированием задач.
Метод everyMinute будет запускать задачу каждую минуту:
class Kernel extends ConsoleKernel
{
/**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
protected function schedule(Schedule $schedule)
{
$schedule->call(function () {
// Cчитать производительность, температуру, какие-то поломки
})->everyMinute();
}
}