私は自分のPHPプロジェクトでいくつかのバックグラウンドタスクを持っています。それはいくつかの条件が満たされている場合、いくつかの仕事をします。たとえば、まだ発注されていない発注があり、発注見積もり時間が15分未満の場合、システムは宅配業者に彼がおそらく遅れていることを通知します。バックグラウンドphpタスク、cronの代替案
最も簡単な解決策 - 毎分PHPスクリプトを実行するcronタスクを作成する。そのスクリプトは、その条件をチェックし、条件が満たされた場合に通知を送信します。
もう1つの方法はキューです。私はギアマンとrabbitmqを見ましたが、私は別の用途のためにそれらを見ることができます。彼らはあなたが直接仕事を送るクライアントを持っている場合に適しています。私の場合、私はクライアントを持っていません。それはシステム内のちょっとした条件です。
私が考えた最後の解決策は、無限ループのカスタムPHPデーモンを書くことです。それぞれの反復で条件を確認し、満足して1分間眠ったらジョブを実行します。しかし、メモリリーク、デーモンの再起動などの問題が発生する可能性があります。
したがって、現代のPHPでこのプロンプラムに最適なソリューションは何ですか?
PHPソリューションの場合は、通常のcronタスクを使用します。それ以外の場合は、スケジュールされたジョブを設定したり、アプリケーションから呼び出したりできるサードパーティオプションがあります。または、nodejsなどのサイドで実行される小さなキューアプリを作成するだけです。 – KungWaz