Cronだけを使用して作業システムを実装するには?

Cronだけを使用して作業システムを実装するには?

エンドポイントが特に遅いPHP Webアプリケーションがあり、複雑な関数呼び出しが原因であると診断しました。

応答が返される前に関数呼び出しが完了するかどうかは問題ではありません。つまり、関数呼び出しをキューに入れ、ワーカーが実行できます。ただし、10秒以内に実行する必要があります。

私が経験している問題は、このWebアプリケーションが実行されているインフラストラクチャを何らかの方法で変更できないことです。これは理想的なものとは離れていますが、不変のビジネス要件です。私が使用できるのはCron、MySQL、Redis、Apache、PHPだけです。

Cronだけを使用して作業システムを実装するには?

Redis ストレージ関数呼び出しキューを使用するのが良い開始であると確信しています。ワーカースクリプトを起動するためにスーパーバイザを置き換えるためにCronを使用できますか? Cronjobが重ならないようにクラスタリングと組み合わせることはできますか?

私が持っているもう一つのアイデアは、Cronを使用して毎秒ワーカースクリプトを実行することでした。しかし、Cronは分未満の単位をサポートしていないので、これを達成するために何らかのループを実行するBashスクリプトを書く必要がありました。

誰もがより強力でスマートで実績のあるアイデアがある場合は、聞きたいです。ありがとうございます。

ベストアンサー1

おすすめ記事