Я хотел бы знать, есть ли другой подходящий способ достижения ниже в Laravel ~ 7.
Цель: Обновлять количество быстро продаваемых продуктов каждую минуту на веб-интерфейсе ( клиент) в режиме реального времени.
Метод: Используйте планировщик для получения количества продукта из базы данных и используйте веб-сокет для его трансляции каждую минуту.
Вопрос : Есть ли другой лучший способ добиться этого?
Трансляция событий (бэкэнд)
// app/Events/ProductQuantity.php
class ProductQuantity implements ShouldBroadcast
{
public $product;
public function __construct(Product $product)
{
$this->product = $product;
}
public function broadcastWith()
{
return ['quantity' => $this->product->quantity];
}
public function broadcastOn()
{
return new Channel('store');
}
}
StoreFrontend (клиент)
<script>
Echo.channel('store')
.listen('ProductQuantity', (e) => {
console.log(e.quantity);
})
</script>