sql >> データベース >  >> NoSQL >> Redis

Laravel-ジョブを順番に実行する

    あなたがあなたの質問で述べているように、あなたが探しているのはジョブチェーンです。

    Laravelドキュメントから

    ジョブチェーンを使用すると、順番に実行する必要があるキューに入れられたジョブのリストを指定できます。シーケンス内の1つのジョブが失敗した場合、残りのジョブは実行されません。キューに入れられたジョブチェーンを実行するには、ディスパッチ可能なジョブのいずれかでwithChainメソッドを使用できます。

    ProcessPodcast::withChain([
        new OptimizePodcast,
        new ReleasePodcast
    ])->dispatch();
    

    したがって、上記の例では

    $mailJobs = Subscriptions::all()
        ->map(function($subscription) {
            return new SendMailJob($subscription);
        });
    
    Job::withChain($mailJobs)->dispatch()
    

    期待どおりの結果が得られるはずです!

    更新

    最初のジョブを使用してチェーンを作成したくない場合(上記のドキュメントの例に示されているように)、空のJobを作成できるはずです。 use Dispatchable;を持つクラス 。次に、上記の私の例を使用できます



    1. キー名でmongoDBから値を取得するにはどうすればよいですか?

    2. Redis:ソートされたセットのスコアの合計

    3. HDFSフェデレーションとアーキテクチャの概要

    4. pymongoでインデックスを作成するにはどうすればよいですか