Laravel 8 延迟分发

2021-07-06 11:18 更新

如果你希望有条件地执行队列任务,可以在分发任务时使用 delay 方法 。例如,让我们指定调度任务在 10 分钟后他被调度后才执行,在这之前它将是无效的:

<?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use App\Jobs\ProcessPodcast;
use Illuminate\Http\Request;

class PodcastController extends Controller
{
    /**
     * Store a new podcast.
     *
     * @param  Request  $request
     * @return Response
     */
    public function store(Request $request)
    {
        // Create podcast...

        ProcessPodcast::dispatch($podcast)
                ->delay(now()->addMinutes(10));
    }
} 

注意:亚马逊 SQS 队列服务最大延时执行时间是 15 分钟

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号