Default TTR from config seems not to be apllied
gb5256 opened this issue · 4 comments
gb5256 commented
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 |
s1lver commented
What version of yii2-queue are you using?
Deleted user commented
@gb5256 can you share the code you use to push job to redis queue?
redis driver will load ttr from job by default
yuuues commented
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([]));