@@ -73,8 +73,11 @@ void ConsumeMessageConcurrentlyService::submitConsumeRequest(boost::weak_ptr<Pul
73
73
request->m_messageQueue .toString ().c_str ());
74
74
return ;
75
75
}
76
- if (!request->isDropped ()) {
76
+ if (!request->isDropped () && !m_ioService. stopped () ) {
77
77
m_ioService.post (boost::bind (&ConsumeMessageConcurrentlyService::ConsumeRequest, this , request, msgs));
78
+ } else {
79
+ LOG_INFO (" IOService stopped or Pull request for %s is dropped, will not post ConsumeRequest." ,
80
+ request->m_messageQueue .toString ().c_str ());
78
81
}
79
82
}
80
83
void ConsumeMessageConcurrentlyService::submitConsumeRequestLater (boost::weak_ptr<PullRequest> pullRequest,
@@ -93,13 +96,16 @@ void ConsumeMessageConcurrentlyService::submitConsumeRequestLater(boost::weak_pt
93
96
(request->m_messageQueue ).toString ().c_str ());
94
97
return ;
95
98
}
96
- if (!request->isDropped ()) {
99
+ if (!request->isDropped () && !m_ioService. stopped () ) {
97
100
boost::asio::deadline_timer* t =
98
101
new boost::asio::deadline_timer (m_ioService, boost::posix_time::milliseconds (millis));
99
102
t->async_wait (
100
103
boost::bind (&(ConsumeMessageConcurrentlyService::static_submitConsumeRequest), this , t, request, msgs));
101
104
LOG_INFO (" Submit Message to Consumer [%s] Later and Sleep [%d]ms." , (request->m_messageQueue ).toString ().c_str (),
102
105
millis);
106
+ } else {
107
+ LOG_INFO (" IOService stopped or Pull request for %s is dropped, will not post delay ConsumeRequest." ,
108
+ request->m_messageQueue .toString ().c_str ());
103
109
}
104
110
}
105
111
0 commit comments