Comments (4)
Hey @tpiha,
That's true. When calling Quit(), you're telling the workers to start gracefully shutting down (rather than immediately exiting). This includes finishing up any jobs currently in process and/or any jobs fetched from redis and waiting to be processed.
Acknowledgement happens once the entire configured middleware chain finishes (including the job portion) and only if it returns true.
Your change seems to stop all middleware actions as soon as Quit() is called, which isn't a graceful shutdown.
I'm happy to help investigate the root cause here. Can you give me a failing test case or more information about your configuration and jobs you're performing which this occurs?
Thanks,
John
from go-workers.
The problem is, it just starts some new jobs, but doesn't finish them (even though it obviously acknowledges them since it doesn't retry on starting it again).
I'll try and create some test case scenario which can be easily reproduced.
from go-workers.
Awesome, thanks so much! I'd be very interested in fixing any issue that can cause what you're describing.
I'm happy to work on some test case scenario's as well, but I need some specific details about how you're using the library, the jobs you're running, etc to know where to start.
from go-workers.
Closing this since haven't heard of any other cases, and no response. If you'd like to revisit this, please open a new issue.
from go-workers.
Related Issues (20)
- Pass Redis connection Configure
- queue is not FIFO, but LIFO actually.. HOT 1
- Unnecessary logic in func EnqueueWithOptions
- gospec moved to github.com/customerio/gospec/src/gospec
- What's the meaning of "Class" property in EnqueueData? HOT 3
- How to use enqueue_in (from ruby TO go) HOT 1
- Configuring multiple REDIS servers HOT 3
- Retry options HOT 2
- Application server concurrency HOT 4
- need more guides HOT 1
- Scheduled jobs being "lost" HOT 2
- Run jobs synchronously
- Retry Jobs Not Showing in Sidekiq Retry List in Web UI HOT 1
- Contributors HOT 3
- Monitoring worker
- Enqueue using a Redis pipeline?
- EnqueueIn and EnqueueWithOptions with At
- ActiveJob Issues
- Error & Retry
- question: support for go modules
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from go-workers.