gpt4 book ai didi

Laravel 5.5 队列调度不起作用

转载 作者:行者123 更新时间:2023-12-03 16:41:07 24 4
gpt4 key购买 nike

也许我不了解 Laravel 队列的工作原理,或者它本身不起作用,我对 Laravel 队列/调度的预期行为是,如果从 Controller 启动调度,则调度到队列的代码应静默执行,并在背景。最终用户浏览器不应等待代码执行。

然而,这就是我的代码发生的情况,调度到队列的代码在执行时让浏览器“旋转...”。

这是预期的行为吗?编码:

    **Controller:**

public function make_eps_certs($tbl_eps)
{
//dd(Carbon::now()->addMinutes(10))
Log::info('Dispatching maeEPSCert to Queue');
$var_result=makeEPSCerts::dispatch($tbl_eps)->onQueue('eventadmin')
->delay(10);
return redirect()->back();
}


**Job:**

namespace App\Jobs;

use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;

use App\partSubs;
use Log;

use Image;

class makeEPSCerts implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

/**
* Create a new job instance.
*
* @return void
*/

protected $passdata;
public $timeout = 120;

public function __construct($passdata)
{
Log::info('Constructing makeEPSCert');
$this->passdata = $passdata;
}

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

try
{
Log::info('Beginning makeEPSCert');
$tbl_eps=$this->passdata;
.....

最佳答案

更改您的 LOG_DRIVER在您的 .envdatabase并使用 php artisan queue:table 创建所需的迁移文件,然后做一个 php artisan migrate .

之后你只需要运行 php artisan queue:work --queue="eventadmin"
然后你会认识到预期的行为

更详细的文档可以在这里找到:https://laravel.com/docs/5.5/queues

关于Laravel 5.5 队列调度不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48167522/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com