-
-
Notifications
You must be signed in to change notification settings - Fork 294
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Redis driver reserved id repush to wating list before delete #373
Comments
when
|
$ttr passed at https://github.com/yiisoft/yii2-queue/blob/master/src/cli/Command.php#L185 is a string while it should be int. Any idea why? |
the main point is retry a job and the job timeout be kill is all same time(after ttr seconds), the two event is standalone on multiprocess(retry maybe before job timeout or job timeout before retry) if a retry before the job be kill, the retry job maybe get empty message from
|
more possible to happen when a great many worker and job execution time more than ttr in fact, can not ensure a job always finish in ttr seconds |
How would you solve it, @sanwv? |
or
a little funny, just a temporary situation |
Got the same problem, waiting for official solution |
when repush to waiting list (line 137) before delete message (line 182), so will get id (line 145) but lost payload (line 151) , $payload=NULL and $ttr="" the problem cause fatal error, the worker progress break off https://github.com/yiisoft/yii2-queue/blob/master/src/drivers/redis/Queue.php#L137 I'm not sure if other reasons also cause this issue, such as redis lru policy or line 145 and line 151 is not atomic |
What steps will reproduce the problem?
sometimes will error, when one job
moveExpired
beforedelete
What's expected?
What do you get instead?
multiprocess need data in time sequence, i just give
$queue$.reserved
item a greater score thantime()+ttr
, a temporary situationAdditional info
The text was updated successfully, but these errors were encountered: