Laravel 队列立即执行,不会延迟

Laravel 队列立即执行,不会延迟,laravel,Laravel,我使用postgresql作为db,在.env中我设置了QUEUE\u CONNECTION=database 例如,我从url下载一张图片,并将其传输到队列中,以便在存储器laravel中上载 在web.php中,我注册了到队列的路由 Route::get('/job', function () { App\Jobs\FileAdd::dispatch("https://www.example.com/example.jpg")->delay(now()-&g

我使用postgresql作为db,在.env中我设置了QUEUE\u CONNECTION=database

例如,我从url下载一张图片,并将其传输到队列中,以便在存储器laravel中上载

在web.php中,我注册了到队列的路由

Route::get('/job', function () {
    App\Jobs\FileAdd::dispatch("https://www.example.com/example.jpg")->delay(now()->addMinute(25));
});
在job中,我写了以下内容:

<?php

namespace App\Jobs;

use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\Storage;


class FileAdd implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
    protected $File;
    /**
     * Create a new job instance.
     *
     * @return void
     */
    public function __construct($File)
    {
        $this->File = $File;


    }

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {

        info($data = $this->File);

        $pos = strripos($data, '/');

        $link = substr($data, 0 , $pos+1);
        $filename = substr($data, $pos+1);
        $expansion = substr($filename, -4);
        $tempImageTwink = tempnam('..\storage\app\public', $filename);
        $tempImage = substr($tempImageTwink, 0, -4) . $expansion;
        copy($link . '/' . $filename, $tempImage);
        Storage::delete('exa3BBD.tmp');
        response()->download($tempImage, $filename);
        unlink(($tempImageTwink ));
    }
}

如果您只是在.env文件中更改缓存,
可能会出现问题。Laravel缓存.env文件并查看缓存(如果可用),而不是.env文件本身。因此,除非清除缓存或创建新缓存,否则更改不会处于活动状态。请尝试用以下方法清除缓存:

php artisan optimize:clear


因此可以加载.env文件中的新数据。

在延迟方法中尝试此方法,如
delay(Carbon::now()->addMinutes(25))
他已经这样做了,
now()
Carbon::now()
的别名,您还有
today()
作为
Carbon::today()
…这回答了您的问题吗?
php artisan cache:clear