2017-08-22 21 views
0

ジョブが完了したかどうかを確認する方法に問題があります。私はどこにでも見ていますが、私はLaravel/Lumenには何も作用していないと思っています。私はおそらくいくつか不足しています。コード例:Laravel JobIdジョブが完了したかどうかを確認する方法

$job = ((new FooJob($data))); 
$jobID = dispatch($job); 

if(is_numeric($jobID)) { 
    while(elapsedTime < 10sec) { 
    CHECK_JOB_SOMEHOW_IF_IS_DONE !?! 
    } 
} 

私は本当に完了したジョブのデータを保存するために、手伝っているhttps://github.com/gilbitron/laravel-queue-monitorをインストールしました。そこには何も見えません。

私はルーメン5.4フレームワークを持っています。

答えて

0

のコマンドを使用し処理するには:

仕事は仕事の終わりに行われたとき::私は(この特定のジョブのために、マークトラフのRedisを入れてハンドル"redis key"ジョブ:[ID_JOB] "val 1)を設定し、リクエスト部分よりもポップアップ時にRedisキーをチェックしています。それは正常に動作しています。

他の解決策の1つは、ルーメン/ラベリングのトラフイベントシステムで、レディスマークを行うことですが、私が望むものは、ちょっと残酷すぎるようです。

0

ドキュメントQueues - Lumenに従って、ジョブとジョブの失敗したテーブルを作成する必要があります。方法ディスパッチを使用するときに、テーブルを作成した後

return [ 
    'default' => env('QUEUE_DRIVER', 'sync'), 
    'connections' => [ 
     'sync' => [ 
      'driver' => 'sync', 
     ], 
     'database' => [ 
      'driver' => 'database', 
      'table' => 'jobs', 
      'queue' => 'default', 
      'retry_after' => 60, 
     ], 
    ], 
    'failed' => [ 
     'database' => env('QUEUE_CONNECTION', 'mysql'), 
     'table' => 'jobs_failed', 
    ], ]; 

アプリ/ configにフォルダ内queue.phpファイルを作成する必要がありますが、ファイルテンプレートを次のその情報はjobsテーブルに保存されます。

は、キューが、私はこの解決策を出す php artisan queue:work

+0

これは実際に私が持っている問題ではない、キューのすべてのものが動作している:)それは単なるチェックの問題です。 – xDan

関連する問題