I'm facing a very strange issue for a long time now. I am working in Laravel 5.3. The problem is with delayed queues.
i.e. for my customer's I have something to do via queue jobs.
But sometimes my jobs disappears randomly. I can't see them in logs, failed_jobs table or anywhere. Even if my action / data is the same, It will work first time. 2nd time may be done't.
I had tried putting some logs. They gave me no issue. And getting passed successfully before / after where I'm placing queue job in my code.
I've tried this on Laravel 8 also. But the issue is same.
Before my QUEUE_CONNECTION was SYNC But i've also tested with following. But the result is same
QUEUE_DRIVER=redis
QUEUE_CONNECTION=redis
QUEUE_DRIVER=database
QUEUE_CONNECTION=database
Current code.
queue.php
return [
/*
|--------------------------------------------------------------------------
| Default Queue Driver
|--------------------------------------------------------------------------
|
| The Laravel queue API supports a variety of back-ends via an unified
| API, giving you convenient access to each back-end using the same
| syntax for each one. Here you may set the default queue driver.
|
| Supported: "null", "sync", "database", "beanstalkd", "sqs", "redis"
|
*/
'default' => env('QUEUE_DRIVER', 'redis'),
'failed' => [
'database' => env('DB_CONNECTION', 'mysql'),
'table' => 'failed_jobs',
],
.env
QUEUE_DRIVER=redis
QUEUE_CONNECTION=redis
jobFile.php
<?php
namespace App\Jobs;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Support\Facades\Log;
class jobFile implements ShouldQueue
{
use InteractsWithQueue, Queueable, SerializesModels;
protected $order_id;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct($data)
{
$this->order_id=$data;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
And this is how i am placing jobs
$this->dispatch((new jobFile($id))->onQueue('high')
->delay(Carbon::now()->addMinutes(1)))
);
Also tried with dispatch().
Can anyone please let me know what can i do for fixing this problem?
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire