jeudi 2 août 2018

Laravel 5.2 queue - Delay not working

I need your help.

I'm working with Laravel queue and with Linux supervisor tool (Exactly like it the documentation)

Now I have a very weird issue.

When I use this command without delay

$job = (new SendAutoresponderEmail($poptin,$autoresponder,$data));

It's working fine.

But when I use the delay option

$job = (new SendAutoresponderEmail($poptin,$autoresponder,$data))->delay(60);

The job failed and not continue anymore

I can see the job on my failed-job table.

Now... When I'm not working with the supervisor tool and just run the command in my terminal:

php artisan queue:lister

The command with the delay option and other queue task working fine.

This is my larave-worker content look like:

[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/html/Poptin/artisan queue:work database --sleep=3 --tries=3 --daemon
autostart=true
autorestart=true
user=ubuntu
numprocs=2
redirect_stderr=true
stdout_logfile=/var/www/html/<project>/worker.log

What you think I need to do in order to fix it?

Also ... How can I use a different queue for a different job? like that

$job = (new SendAutoresponderEmail($poptin,$autoresponder,$data))->onQueue('autoresponder')->delay(60);

?

currently, I have only the default queue. Where I declare others queues in my config/queue.php file?

'connections' => [

    'sync' => [
        'driver' => 'sync',
    ],

    'database' => [
        'driver' => 'database',
        'table' => 'jobs',
        'queue' => 'default',
        'expire' => 60,
    ],



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire