2017-04-05 7 views
0

私は助けが必要です。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 &

しかし、時には、このタスクがクラッシュしています。私はそれをコントロールすることはできません。このタスクを自動的に再開する方法が必要です。

あなたは消費者をどのように動かすのかアドバイスしてください。どのように制御して再起動しますか?ありがとうございました。

+0

スーパーバイザなどのプロセスマネージャを使用すると、ジョブが失敗したときにプロセスが自動的に再起動されます。 – Daan

+0

私はスーパーバイザを2番目に...私はバックグラウンドで座るためにこのことを使用します(PHPはbgプロセスには最適ではないので):https://github.com/ricbra/rabbitmq-cli-consumer – barat

答えて

0

ありがとうございました!私はsupervisordを使い始め、cronを使って1日4回タスクを再開します。

関連する問題