yii2-queue icon indicating copy to clipboard operation
yii2-queue copied to clipboard

Default TTR from config seems not to be apllied

Open gb5256 opened this issue 2 years ago • 4 comments

What steps will reproduce the problem?

I am using this config:

'components' => [
   ...
    'queue' => [
        'class' => '\yii\queue\db\Queue::class', 
        'as log' => \yii\queue\LogBehavior::class,
        'db' => 'db', 
        'tableName' => '{{%queue}}', 
        'channel' => 'default',
        'mutex' => \yii\mutex\MysqlMutex::class,
        'ttr' => 600,
    ],

What's expected?

I expect that if I create a job without mentioning a specific ttr in the job, that it then takes the default value.

What do you get instead?

It always uses 300 s (as it is defined inside yii\queue\Queue : public $ttr = 300;

Additional info

Q A
Yii version 2.0.48.1
PHP version 8.0
Operating system Ubuntu 18.04 LTS

gb5256 avatar Jun 27 '23 10:06 gb5256

What version of yii2-queue are you using?

s1lver avatar Jun 28 '23 13:06 s1lver

@s1lver : I am using yii-queue version 2.3.5

gb5256 avatar Jun 29 '23 12:06 gb5256

@gb5256 can you share the code you use to push job to redis queue? redis driver will load ttr from job by default

ghost avatar Aug 09 '23 10:08 ghost

Hi!!

As a workaround, we've found that when calling to the queue and making a push

Yii::$app->yourqueue->push(new YourWorker([]));

You can call ttr function to edit manually the TTR applied. So your call would be like

Yii::$app->yourqueue->ttr($yourTtrInSeconds)->push(new YourWorker([]));

yuuues avatar Oct 10 '23 16:10 yuuues