私は助けが必要です。rabbitmqのphp consumer-scriptを実行するにはどうしたらいいですか?
DBにレコードを追加した後に実行する必要があるタスクがいくつかあります。例えば、アップロードされた画像を圧縮する。それを行うために、私はRabbitMQを使用しています。
私は別個のスクリプトを持っています、それはprocess_message関数のロジックを除いて、この例と全く同じです: https://github.com/php-amqplib/php-amqplib/blob/master/demo/amqp_consumer_non_blocking.php。
私はこの長寿命実行中のスクリプトを理解するように、私はコマンドを使用して、Linux上でそれを実行します。
nohup php amqp_consumer.php production &
しかし、時には、このタスクがクラッシュしています。私はそれをコントロールすることはできません。このタスクを自動的に再開する方法が必要です。
あなたは消費者をどのように動かすのかアドバイスしてください。どのように制御して再起動しますか?ありがとうございました。
スーパーバイザなどのプロセスマネージャを使用すると、ジョブが失敗したときにプロセスが自動的に再起動されます。 – Daan
私はスーパーバイザを2番目に...私はバックグラウンドで座るためにこのことを使用します(PHPはbgプロセスには最適ではないので):https://github.com/ricbra/rabbitmq-cli-consumer – barat