Comments (4)
Hi @longveeshaw
It's guaranteed that a message would be delivered at least once to the application/listener(s). It comes with a graceful shutdown, all listeners would be stopped at the time of shutdown. The time takes for shutdown can vary based on the number of currently running tasks, application shutdown waits for the executing task to be executed/terminated but in some cases it might timeout as shutdown process can't be halt for many minutes or so.
Could you provide some more context about ?
Can the queue stop or start according the configuration?
from rqueue.
Hi @longveeshaw
It's guaranteed that a message would be delivered at least once to the application/listener(s). It comes with a graceful shutdown, all listeners would be stopped at the time of shutdown. The time takes for shutdown can vary based on the number of currently running tasks, application shutdown waits for the executing task to be executed/terminated but in some cases it might timeout as shutdown process can't be hold for many minutes or so.Could you provide some more context about ?
Can the queue stop or start according the configuration?
Just like kafka :
MessageListenerContainer listenerContainer = kafkaListenerEndpointRegistry.getListenerContainer(listenerId);
// if need to start listen,just write listenerContainer.start()
listenerContainer..start();
// if need to stop listen,just write listenerContainer.stop;
listenerContainer.stop();
if this command is available,when we need to deploy a new application,we can first stop all listeners,then stop old application,after the new application started, just start the listeners again.
from rqueue.
IIUC, you're looking for manual start and stop of container, It does support manual start and stop, but not at consumer level, it will start all consumer and stop all consumers/listeners.
Create SimpleRqueueListenerContainerFactory
with autoStart=false, this will create a container of type RqueueMessageListenerContainer
. Once this bean is created with auto start is false, then you can control containers using start and stop methods.
@Bean
public SimpleRqueueListenerContainerFactory simpleRqueueListenerContainerFactory(
RedisConnectionFactory redisConnectionFactory, RqueueMessageHandler rqueueMessageHandler) {
SimpleRqueueListenerContainerFactory factory = new SimpleRqueueListenerContainerFactory();
factory.setAutoStartup(false);
factory.setRedisConnectionFactory(redisConnectionFactory);
factory.setRqueueMessageHandler(rqueueMessageHandler);
return factory;
}
This will create a bean of typeRqueueMessageListenerContainer
, you can use that bean in your application to manually start and stop.
public class BootstrapController {
@Autowired RqueueMessageListenerContainer rqueueMessageListenerContainer;
// ...
public void start() {
/// do something
rqueueMessageListenerContainer.start();
}
public void stop() {
// do something
rqueueMessageListenerContainer.stop();
}
}
from rqueue.
support
ok,i will have a try. Tks
from rqueue.
Related Issues (20)
- Serialization support java time module HOT 1
- Deleted messages are kept in memory HOT 5
- Add static resource mapping handler when rqueue.web.url.prefix is set HOT 5
- Weighted priorisation with maximum concurrency HOT 2
- Question: Re-starting processing task when system restarts HOT 7
- Do you plan to use spring-cloud-sleuth to propagate the traceId? HOT 5
- Dashboard shows empty even thought Rqueue is working fine HOT 13
- Question: Integration scenario with multiple queues HOT 4
- rqueue workflow discussion HOT 4
- Support of jackson-databind 2.16.0 HOT 3
- Login/pass for queue dashboard HOT 4
- Lack of available threads HOT 2
- Service-Level Concurrency Control HOT 1
- IllegalArgumentException when accessing queue details HOT 1
- springboot 3.2 can not work HOT 5
- springboot 2.7 can not work HOT 9
- Typo in dashboard text HOT 2
- RQueue attempting to bootstrap despite being "disabled" HOT 1
- Best practice of initializing a queue (producer only) HOT 1
- RqueueListener sometimes do not consume message. (Intermittently) HOT 3
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 rqueue.