私は自分のサーバーからプッシュ通知を送信していて、それをバックグラウンドプロセスで単純に実行したいと考えています。私はLaravelのドキュメントを読んできました。データベースドライバやその他のオプションについても知っています。私はローカルマシンのデータベースドライバを使って作業していますが、一つのことは、バックグラウンドスレッドを起動して、ジョブを待ち受けるためにphp artisan queue:listen --deamon
を使ってキューに追加されていることです。laravel queues - 同期ドライバの仕組みそれは、分離されたプロセスまたはメインの実行スレッドで実行されますか?
重要なのは、私のリソースとメモリの一部を「クリーン」タスクのように実行することによって常に消費されていることです。私は、プッシュ通知をトリガするときに新しいプロセスを作成したいだけで、追加されるとすぐに実行を開始し、そのプロセスを終了する必要があります。一方、laravelジョブでは、私は避けたいバックグラウンドプロセスを実行する必要があります。また、自分のジョブの実行を監視するためにサーバー上に "スーパーバイザー"をインストールできない共有ホスティングを使用しています。
誰でもこのあいまいさを解消できますか?このシナリオを処理するためのより良い方法は何でしょうか?
同期ドライバは、バックグラウンドワーカーではなくメイン実行スレッドでプロセスを実行します。デバッグに便利なのは –
@SanderVisser何が良い方法ですか? –
データベースドライバを使用できますが、バックグラウンドプロセスを実行する必要があります。または、同期ドライバを使用することもできますが、それはメインスレッド上で実行されます。 PHPの世界では、メインスレッドからバックグラウンドプロセスを生成するのが難しく、多くの問題があります。しかし、本当にしたい場合は、バックグラウンドタスクを生成する独自のドライバを作成することができます。 –