かなりの数の電話番号をダイヤルして録音を再生するようにプッシュ キューを設定しました。Twilio を利用したブラスト アナウンス システムです。各番号を反復処理して電話をかけるには時間がかかるため、プッシュ キューを使用してアプリのナビゲーションを高速化したいと考えています。
過去に Laravel 4 で Iron.io プッシュ キューを使用しようとしましたが、実行に時間がかかるタスクや、HTTP 要求が最初は遅かった場合、fire()
メソッド内のコードが複数回実行されるようです。$job->delete()
これが私のキューハンドラの例です -
class callLotsOfPeople {
public function fire($job, $data) {
// Do stuff with data, like calling lots of people.. takes time
$job->delete();
// For some reason this method can be called multiple times after a single queue push,
// resulting in multiple phone calls and angry clients
}
}