当前位置: 首页 > news >正文

国外购物网站推荐小程序源码网站论坛

国外购物网站推荐,小程序源码网站论坛,discuz做企业网站,展示型为主的网站SpringBoot异步任务(2)|(线程池使用) 文章目录 SpringBoot异步任务(2)|(线程池使用)[TOC] 前言一、使用场景二、springboot添加异步任务1.配置线程池2.线程池的使用 总结 章节 第一章…

SpringBoot异步任务(2)|(线程池使用)


文章目录

  • SpringBoot异步任务(2)|(线程池使用)
    • @[TOC]
  • 前言
  • 一、使用场景
  • 二、springboot添加异步任务
    • 1.配置线程池
    • 2.线程池的使用
  • 总结

章节
第一章链接: SpringBoot异步任务(1)|(异步任务执行以及回调)

前言

线程池开启异步任务在springboot中的使用

一、使用场景

项目中有一个批量调度的任务,客户上传批量的文章,让后将这些文章去进行任务处理

二、springboot添加异步任务

1.配置线程池

在springboot容器中配置线程池,后续使用直接将bean注入使用即可

@Configuration
@EnableAsync
public class ExecutorEmbPoolConfig {private static final Logger logger = LoggerFactory.getLogger(ExecutorEmbPoolConfig.class);@Value("${embedding.pool.corePoolSize:20}")private int corePoolSize = 20;@Value("${embedding.pool.maxPoolSize:20}")private int maxPoolSize = 20;@Value("${embedding.pool.queueCapacity:100000}")private int queueCapacity = 100000;private String namePrefix = "embedding-service-";@Bean(name = "embeddingServiceExecutor")public ThreadPoolTaskExecutor asyncServiceExecutor() {logger.debug("start embedding embeddingServiceExecutor");ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();//配置核心线程数executor.setCorePoolSize(corePoolSize);//配置最大线程数executor.setMaxPoolSize(maxPoolSize);//配置队列大小executor.setQueueCapacity(queueCapacity);//配置线程池中的线程的名称前缀executor.setThreadNamePrefix(namePrefix);// 允许回收核心线程executor.setAllowCoreThreadTimeOut(true);// CALLER_RUNS: 不在新线程中执行任务,而是有调用者所在的线程来执行executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());//执行初始化executor.initialize();return executor;}
}

2.线程池的使用

@Resource(name = "embeddingServiceExecutor")private ThreadPoolTaskExecutor executor;@Scheduled(cron = "0/30 * * * * ?")public void FileToMilvesJob() {//定义计数器List<DocumentMilvusRecord> documentMilvusRecords = recordService.findByStatus(RecordStatus.WAIT);if (CollectionUtils.isEmpty(documentMilvusRecords)) {return;}List<DocumentMilvusRecord> excuteList;if (documentMilvusRecords.size() > 50) {excuteList = documentMilvusRecords.subList(0, 50);} else {excuteList = documentMilvusRecords;}log.info("本次任务需要执行任务“{}条", excuteList.size());for (DocumentMilvusRecord record : excuteList) {recordService.updateRecordStatus(record);executor.execute(() -> {try {docEmbeddingCreate(record); // 执行业务逻辑} catch (Exception e) {log.error(e.getMessage());}});}}

总结

上面的方式实现了自定义一个线程池,然后执行任务的时候获取线程池并执行任务。

http://www.yayakq.cn/news/781571/

相关文章:

  • 小程序可以用手机网站吗室内设计公司名字大全
  • 韩国做美食的视频网站有哪些5080电影电视剧大全
  • 安卓和网站开发找工作做网站的是不是程序员
  • 中商外贸网站如何建设万网网站
  • 演示 又一个wordpress站点c 网站建设报告
  • 网站开发就业前景女生做网站后期维护工作好吗
  • 网站建设 宜昌wordpress汉化广告插件
  • 东营网站搭建合肥百度快照优化排名
  • 永久f194078w78wseo常规优化
  • 广州犀牛云网站建设灰色行业关键词优化
  • 专门做正品的网站iis网站权限
  • 卖花网站源码网页制作与网站开发从入门到精通 下载
  • win10系统可以做网站搭建站长seo综合查询工具
  • 机关网站建设前期准备工作二维码制作app
  • 网站建设维护总结网站关键词百度自然排名优化
  • 商城网站建设的优点网站目的
  • 已有网站开发app终端wordpress问题解决方法
  • 网站出现wordpress找谁做公司网站
  • 有什么好的书写网站wordpress注册中文插件
  • wordpress打开文章昆明网站快照优化公司
  • 宁国市有做网站爱企业查询公司
  • 网站编写费用天马行空网站建设
  • 哈尔滨餐饮加盟网站建设网站建设重要
  • 个人商城网站源码下载网站快速排名工具
  • 大型行业门户网站开发建设网站开发这个专业前景怎样
  • 大连做网站qq群高校文明建设网站
  • 网站建设费用要分摊多长时间做企业网站好处
  • 成都网站推广经理wordpress的api
  • 做爰明星视频网站注册公司费用多少钱
  • 北京做软件最好的公司南昌做seo的公司有哪些