Comments (3)
The first use case could be supported. We could add a parameter so worker would only consume a new task if it is processing less than N tasks at the moment. That seems like it could be done.
The second use case (with GPU or other metric) sounds more difficult to implement.
from machinery.
You can implement this feature as user-defined function, with simple interface
type acceptNewTask func(currentTasksCount int) bool
By default it will be like this
func acceptNewTask(currentTasksCount int) bool {
return currentTasksCount < n
}
And allow user to implement his own functions, based on his requirements
from machinery.
PR #111 added a config option to limit the number of worker instances.
from machinery.
Related Issues (20)
- Log ouput Issues HOT 1
- loop forever to get tasks
- (monitoring) How to check if consumers are working well? HOT 1
- If the number of periodic tasks is too dense, the concurrent map reading fails HOT 1
- Result expiration for groups and chords
- Help with Periodic Task Run on v1 HOT 2
- why not support custom arg type?
- redis.Lock bug
- Configuration with Redis Sentinel
- goredis should add IgnoreWhenTaskNotRegistered
- Prevent more than one instance of task running at the same time
- Receiving message will not be processed until visibility timeout when worker starts to quit HOT 1
- Failed delivery of delivery tag: 0 HOT 1
- compile error: impossible type assertion HOT 2
- The result is lost before task execution
- Is this project still maintained? HOT 5
- How to bind processing functions for Period Tasks?
- Does Machinery V1 support Redis TLS connection (rediss://) HOT 1
- Periodic tasks cannot be canceled
- The pubsub version is outdated and has a vulnerability.
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 machinery.