Comments (2)
Hi
About redis driver. This driver in hermes library (RedisSetDriver) is implemented to use redis set as storage key type (https://redis.io/commands#set). This will ensure that one message will be delivered only to one worker - worker send command spop
to redis and redis deliver one message from set and discard this message, so no other worker will get it.
I am also using this driver in distributed environments and it performs very well.
There is only one issue with redis - right now with RedisSetDriver your not able to process different type of Messages with different workers. This is possible only with create 2 dispatchers/emitters and use different keys in redis for each set.
Hope this will help you. If you need more information or some help please let me know.
Regards
tomaj
from hermes.
Hi @tomaj,
Thanks very much for your reply, that covers my situation.
There is only one issue with redis - right now with RedisSetDriver your not able to process different type of Messages with different workers. This is possible only with create 2 dispatchers/emitters and use different keys in redis for each set.
This isn't a problem, I'll keep to one message type and put logic in the workers to decide (based on parameters in the payload) if they need to do some different handling.
Cheers
Geoff.
from hermes.
Related Issues (20)
- Ability to register handler to multiple types with single register method
- PDO driver
- Register multiple loggers
- ZeroMQ Driver
- Kafka Driver
- Iron.io Driver
- FileSystem Driver
- Heartbeat functionality
- Tracy debugger - error reporting
- More queues with priorities
- Rename RestartException to ShutdownException
- Change default for $messageId in Message
- Split RedisDriver to 2 separated drivers HOT 3
- Drop support for php 7.2 and 7.3
- SharedFileRestart not working HOT 5
- PredisSetDriver fails when retry is being scheduled HOT 2
- Wrong order of queues in driver
- PRedis driver
- Amazon aws queue driver
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 hermes.