REQ-3345: 添加限流
This commit is contained in:
parent
30975d114b
commit
8483b955b2
@ -9,6 +9,12 @@ import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.concurrent.ArrayBlockingQueue;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.concurrent.RejectedExecutionException;
|
||||
import java.util.concurrent.ThreadPoolExecutor;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
@Service("dingDingMsgApiGateway")
|
||||
@Slf4j
|
||||
@RequiredArgsConstructor
|
||||
@ -16,10 +22,22 @@ public class DingDingMsgApiGateway {
|
||||
|
||||
private final DingDingMsgApi dingDingMsgApi;
|
||||
|
||||
private final ExecutorService executor = new ThreadPoolExecutor(2, 2,
|
||||
0L, TimeUnit.MILLISECONDS,
|
||||
new ArrayBlockingQueue<>(10));
|
||||
|
||||
public void sendMsg(DingTalkMsgTypeEnum msgType, String title, String text, String dingDingScene) {
|
||||
try {
|
||||
executor.execute(() -> sendMsgImpl(msgType, title, text, dingDingScene));
|
||||
} catch (Exception e) {
|
||||
log.warn("DingDingMsgApiGateway-sendMsg Exception, msgType:{}, title:{}, text:{}, dingDingScene:{}", msgType, title, text, dingDingScene, e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送消息
|
||||
*/
|
||||
public void sendMsg(DingTalkMsgTypeEnum msgType, String title, String text, String dingDingScene) {
|
||||
private void sendMsgImpl(DingTalkMsgTypeEnum msgType, String title, String text, String dingDingScene) {
|
||||
DingDingSendRebootGroupMsgReq req = new DingDingSendRebootGroupMsgReq();
|
||||
req.setMsgType(msgType);
|
||||
req.setDingDingJson(new SampleMarkdown(title, text).toJson());
|
||||
|
||||
Loading…
Reference in New Issue
Block a user