簡體   English   中英

Laravel在隊列上創建作業

[英]Laravel create job on queue

我在Jobs和QUEUE上遇到Laravel 5.7的問題,

作業正在處理中,但未輸入隊列中,我在數據庫上也看不到任何內容-但是,我提到的好處是作業發生時沒有問題,但是范圍要在隊列中。

.ENV

QUEUE_DRIVER=database

工作

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

    protected $value;
    protected $value1;
    protected $value2;
    protected $value3;

    public $tries = 5;

    public function __construct($value, $value1, $value2, $value3)
    {
        $this->value = $value;
        $this->value1 = $value1;
        $this->value2 = $value2;
        $this->value3 = $value4;
    }

    public function handle()
    {
        $url = 'https://somewhere';

        $client = new \GuzzleHttp\Client;
        $response = $client->post($url, [
                'form_params' => [ 
                    'session' => $this->value,
                    'appid' => $this->value1,
                    'env' => $this->value2,
                    'nodes' => $this->value3
                ]
        ]);

        $response = json_decode($response->getBody(), true);
        return $response;
    }
}

調節器

use App\Jobs\CreateApplication;
...
CreateApplication::dispatch($value, $value1, $value2, $value3)->onQueue('processing');

終奌站

php artisan queue:listen

php artisan queue:table
php artisan queue:failed-table

Migrating: 2018_09_12_182619_create_jobs_table
Migrated:  2018_09_12_182619_create_jobs_table
Migrating: 2018_09_12_191537_create_failed_jobs_table
Migrated:  2018_09_12_191537_create_failed_jobs_table

經過幾次嘗試后,兩個表上的數據庫中都沒有數據。

有什么建議嗎?

該問題與.env文件有關

QUEUE_DRIVER=database

在Laravel 5.7上看起來應該是

QUEUE_CONNECTION=database

我相信您的控制器應該這樣做:

CreateApplication::dispatch($value, $value1, $value2, $value3)->onQueue('processing');

Job類沒有處理程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM