Основная цель этого вопроса - иметь постоянно работающую систему на сервере для вещания музыки c.
Я хотел бы создать функцию консоли ремесленника, которая будет автоматически запускать трек от своего родителя. игра каждые 32 секунды. К сожалению, функция sleep () блокирует родительский элемент l oop.
Два вопроса (или, может быть, три): как можно предотвратить остановку родительского элемента l oop? Этот метод потребляет слишком много ресурсов? Есть ли лучший способ?
public function fetch($games) {
foreach ($games as $game) {
$tracks = Track::inRandomOrder()->where('game_id', $game->id)->limit($game->tracks_number)->get();
foreach ($tracks as $key => $track) {
broadcast(new NewTrack($track));
if($key + 1 == count($tracks)) {
$this->fetch($this->games);
}
sleep(32);
}
}
}
Большое спасибо за ваш отзыв