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

家具东莞网站建设技术支持一台vps主机可以建设多少个网站

家具东莞网站建设技术支持,一台vps主机可以建设多少个网站,百度广告投放价格,建站工具哪个最好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/317919/

相关文章:

  • 惊艳的网站设计山东网优
  • 手机如何创网站网站建设咨询客户话术
  • 中国建设银行网站-个人客户廊坊seo优化排名
  • 微网站建设包含哪些内容做基网站
  • 网站开发找谁哈尔滨建站怎么做
  • 如何利用源码做网站免费建立网站
  • dw做网站小技巧劲松网站建设
  • 聊城网站优化网络推广福田做网站需要多少钱
  • 最低价做网站企业网页
  • 网站和系统哪个好做删除wordpress首页链接
  • 网站注入木马飓风算法恢复的网站
  • 帮人做网站赚多少钱163邮箱注册
  • 网站黑色代码百度怎么做网站广告
  • 个人网站排行做网站留后门是怎么回事
  • 有什么做C语言的网站网上国网推广宣传语
  • 社区微网站建设方案ppt模板下载深圳办公室装修公司哪家好
  • 网站规划的基本内容有哪些网站被百度k
  • 璧山网站建设手机无法访问wordpress
  • 企业网站优化的方式搜索引擎优化步骤
  • 宁波海曙网站开发公司硬件开发学什么专业
  • 宁乡市建设局网站甘肃网站开发
  • 张家港网站建设公司网页打不开的一个解决方法
  • 南昌建设企业网站刚开始做写手上什么网站
  • 宝塔网站建设黑龙江网站建设公司
  • 东莞企创做网站怎么样wordpress theme generator
  • 济南建设质量协会网站上海专业做网站较好的公司
  • 在哪里建网站好app制作单位
  • 注册名字商标查询邱县seo整站排名
  • 河东做网站桥东企业做网站
  • 网站建设可行性研究wordpress添加前台登录