-
Notifications
You must be signed in to change notification settings - Fork 131
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
Method success() in WorkerImpl sometimes might not fire JOB_SUCCESS event. #28
Comments
Good find. I'll look into this today. |
@zaremjan I tried to replicate the circumstances you described in a test here: https://gist.github.com/gresrun/4962067 However, Jedis never closed the connection. I can try to fix this but I'll need you to test it to see if I really squashed it. |
By default redis server keeps connection alive forever, and that's probably why you are not able to replicate this.
|
A bit improved test: |
I got your improved test passing with the latest from master. Can you confirm that this works for you? |
Yep. Without your fixes test fails. With them all is fine. |
Good show. |
Method in question:
Lets say we have a long running job (in my case it was ~10 minutes).
Job completes, and method success() is invoked.
But
this.jedis.incr(key(STAT, PROCESSED));
throws an exception:And this causes
this.listenerDelegate.fireEvent(JOB_SUCCESS, this, curQueue, job, runner, result, null);
to be not executed. And listeners are not being notified.Probably there is a similar issue with failure() method.
The text was updated successfully, but these errors were encountered: