最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot定時任務調(diào)度與爬蟲的配置實現(xiàn)

 更新時間:2022年01月11日 16:30:13   作者:feifei97  
這篇文章主要介紹了SpringBoot定時任務調(diào)度與爬蟲的實現(xiàn),使用webmagic開發(fā)爬蟲,繼承PageProcessor接口編寫自己的處理類,process是定制爬蟲邏輯的核心接口,在這里編寫抽取邏輯,具體實現(xiàn)配置過程跟隨小編一起看看吧

SpringTask

SpringTask是Spring自主研發(fā)的輕量級定時任務工具,相比于Quartz更加簡單方便,且不需要引入其他依賴即可使用。

SpringTask的配置

在配置類中添加一個@EnableScheduling注解即可開啟SpringTask的定時任務

import org.apache.commons.lang3.concurrent.BasicThreadFactory;
@Configuration
@EnableScheduling
@ComponentScan(basePackages = {"com.xxx.xxx"})
public class TaskConfig implements SchedulingConfigurer {
    @Override
    public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
        taskRegistrar.setScheduler(taskExecutor());
    }
    @Bean
    public Executor taskExecutor() {
        return new ScheduledThreadPoolExecutor(20, new BasicThreadFactory.Builder().namingPattern("Job-Thread-%d").build());
    }
}

設置定時任務

@Component
@Slf4j
public class TaskJob {
    /**
     * @Scheduled 設置
     */
    @Scheduled(cron = "0/10 * * * * ?")
    public void job1() {
        //具體處理邏輯
        log.info("【job1】開始執(zhí)行:{}", DateUtil.formatDateTime(new Date()));
    }
}

Cron的語法格式及說明

Seconds Minutes Hours DayofMonth Month DayofWeek

時間元素可出現(xiàn)的字符有效數(shù)值范圍
Seconds, - * /0-59
Minutes, - * /0-59
Hours, - * /0-23
DayofMonth, - * / ? L W0-31
Month, - * /1-12
DayofWeek, - * / ? L #1-7或SUN-SAT

Cron格式中特殊字符說明

字符作用舉例
,列出枚舉值在Minutes域使用5,10,表示在5分和10分各觸發(fā)一次
  • |表示觸發(fā)范圍| 在Minutes域使用5-10,表示從5分到10分鐘每分鐘觸發(fā)一次
  • |匹配任意值| 在Minutes域使用*, 表示每分鐘都會觸發(fā)一次
    / |起始時間開始觸發(fā),每隔固定時間觸發(fā)一次| 在Minutes域使用5/10,表示5分時觸發(fā)一次,每10分鐘再觸發(fā)一次
    ? |在DayofMonth和DayofWeek中,用于匹配任意值| 在DayofMonth域使用?,表示每天都觸發(fā)一次

|在DayofMonth中,確定第幾個星期幾| 1#3表示第三個星期日

L |表示最后| 在DayofWeek中使用5L,表示在最后一個星期四觸發(fā)
W |表示有效工作日(周一到周五)| 在DayofMonth使用5W,如果5日是星期六,則將在最近的工作日4日觸發(fā)一次

使用舉例

"0 0 10,14,16 * * ?" 每天上午10點,下午2點,4點 
"0 0/30 9-17 * * ?" 朝九晚五工作時間內(nèi)每半小時 
"0 0 12 ? * WED" 表示每個星期三中午12點 
"0 0 12 * * ?" 每天中午12點觸發(fā) 
"0 15 10 ? * *" 每天上午10:15觸發(fā) 
"0 15 10 * * ?" 每天上午10:15觸發(fā) 
"0 15 10 * * ? *" 每天上午10:15觸發(fā) 
"0 15 10 * * ? 2005" 2005年的每天上午10:15觸發(fā) 
"0 * 14 * * ?" 在每天下午2點到下午2:59期間的每1分鐘觸發(fā) 
"0 0/5 14 * * ?" 在每天下午2點到下午2:55期間的每5分鐘觸發(fā) 
"0 0/5 14,18 * * ?" 在每天下午2點到2:55期間和下午6點到6:55期間的每5分鐘觸發(fā) 
"0 0-5 14 * * ?" 在每天下午2點到下午2:05期間的每1分鐘觸發(fā) 
"0 10,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2:44觸發(fā) 
"0 15 10 ? * MON-FRI" 周一至周五的上午10:15觸發(fā) 
"0 15 10 15 * ?" 每月15日上午10:15觸發(fā) 
"0 15 10 L * ?" 每月最后一日的上午10:15觸發(fā) 
"0 15 10 ? * 6L" 每月的最后一個星期五上午10:15觸發(fā) 
"0 15 10 ? * 6L 2002-2005" 2002年至2005年的每月的最后一個星期五上午10:15觸發(fā) 
"0 15 10 ? * 6#3" 每月的第三個星期五上午10:15觸發(fā)
"30 * * * * ?" 每半分鐘觸發(fā)任務
"30 10 * * * ?" 每小時的10分30秒觸發(fā)任務
"30 10 1 * * ?" 每天1點10分30秒觸發(fā)任務
"30 10 1 20 * ?" 每月20號1點10分30秒觸發(fā)任務
"30 10 1 20 10 ? *" 每年10月20號1點10分30秒觸發(fā)任務
"30 10 1 20 10 ? 2011" 2011年10月20號1點10分30秒觸發(fā)任務
"30 10 1 ? 10 * 2011" 2011年10月每天1點10分30秒觸發(fā)任務
"30 10 1 ? 10 SUN 2011" 2011年10月每周日1點10分30秒觸發(fā)任務
"15,30,45 * * * * ?" 每15秒,30秒,45秒時觸發(fā)任務
"15-45 * * * * ?" 15到45秒內(nèi),每秒都觸發(fā)任務
"15/5 * * * * ?" 每分鐘的每15秒開始觸發(fā),每隔5秒觸發(fā)一次
"15-30/5 * * * * ?" 每分鐘的15秒到30秒之間開始觸發(fā),每隔5秒觸發(fā)一次
"0 0/3 * * * ?" 每小時的第0分0秒開始,每三分鐘觸發(fā)一次
"0 15 10 ? * MON-FRI" 星期一到星期五的10點15分0秒觸發(fā)任務
"0 15 10 L * ?" 每個月最后一天的10點15分0秒觸發(fā)任務
"0 15 10 LW * ?" 每個月最后一個工作日的10點15分0秒觸發(fā)任務
"0 15 10 ? * 5L" 每個月最后一個星期四的10點15分0秒觸發(fā)任務
"0 15 10 ? * 5#3" 每個月第三周的星期四的10點15分0秒觸發(fā)任務
"0 0 0 * * ?" 每天晚上12點觸發(fā)任務

爬蟲

使用webmagic開發(fā)爬蟲

流程:

  • (1)分析目標網(wǎng)頁源碼
  • (2)繼承PageProcessor接口編寫自己的處理類,process是定制爬蟲邏輯的核心接口,在這里編寫抽取邏輯
  • (3)繼承Pipeline接口編寫自己的存儲類

代碼:

https://github.com/FlyuZ/Spring-Learning

到此這篇關于SpringBoot定時任務調(diào)度與爬蟲的實現(xiàn)的文章就介紹到這了,更多相關SpringBoot定時任務內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java設計模式中的策略模式詳細解析

    Java設計模式中的策略模式詳細解析

    這篇文章主要介紹了Java設計模式中的策略模式詳細解析,所謂策略模式,指的是做某一件事時有多種選擇(即策略),且不同的策略之間相互獨立,而且無論使用哪種策略,得到的結果都是相同的,需要的朋友可以參考下
    2023-12-12
  • Jenkins之Log Parse使用方法詳解

    Jenkins之Log Parse使用方法詳解

    這篇文章主要為大家詳細介紹了Jenkins插件Log Parse使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • SpringBoot異常錯誤頁面實現(xiàn)方法介紹

    SpringBoot異常錯誤頁面實現(xiàn)方法介紹

    在項目訪問的時候我們經(jīng)常會發(fā)生錯誤或者頁面找不到,比如:資源找不到404,服務器500錯誤,默認情況下springboot的處理機制都是去跳轉(zhuǎn)內(nèi)部的錯誤地址:/error 和與之對應的一個錯誤頁面
    2022-09-09
  • Java?C++分別實現(xiàn)滑動窗口的最大值

    Java?C++分別實現(xiàn)滑動窗口的最大值

    這篇文章主要介紹了分別通過Java和C++實現(xiàn)滑動窗口最大值,即給定一個數(shù)組?nums?和滑動窗口的大小?k,請找出所有滑動窗口里的最大值。感興趣的可以了解一下
    2021-12-12
  • 詳解SpringBoot和Mybatis配置多數(shù)據(jù)源

    詳解SpringBoot和Mybatis配置多數(shù)據(jù)源

    本篇文章主要介紹了詳解SpringBoot和Mybatis配置多數(shù)據(jù)源,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • Netty結合Protobuf進行編解碼的方法

    Netty結合Protobuf進行編解碼的方法

    這篇文章主要介紹了Netty結合Protobuf進行編解碼,通過文檔表述和代碼實例充分說明了如何進行使用和操作,需要的朋友可以參考下
    2021-06-06
  • Java集合之CopyOnWriteArrayList詳解

    Java集合之CopyOnWriteArrayList詳解

    這篇文章主要介紹了Java集合之CopyOnWriteArrayList詳解,CopyOnWriteArrayList是ArrayList的線程安全版本,內(nèi)部也是通過數(shù)組實現(xiàn),每次對數(shù)組的修改都完全拷貝一份新的數(shù)組來修改,修改完了再替換掉老數(shù)組,這樣保證了只阻塞寫操作,需要的朋友可以參考下
    2023-12-12
  • 簡單易懂的MyBatis分庫分表方案分享

    簡單易懂的MyBatis分庫分表方案分享

    這篇文章主要給大家介紹了關于MyBatis分庫分表方案的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者使用MyBatis具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-03-03
  • Java語言實現(xiàn)非遞歸實現(xiàn)樹的前中后序遍歷總結

    Java語言實現(xiàn)非遞歸實現(xiàn)樹的前中后序遍歷總結

    今天小編就為大家分享一篇關于Java語言實現(xiàn)非遞歸實現(xiàn)樹的前中后序遍歷總結,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • Java基于socket實現(xiàn)的客戶端和服務端通信功能完整實例

    Java基于socket實現(xiàn)的客戶端和服務端通信功能完整實例

    這篇文章主要介紹了Java基于socket實現(xiàn)的客戶端和服務端通信功能,結合完整實例形式分析了Java使用socket建立客戶端與服務器端連接與通信功能,需要的朋友可以參考下
    2018-05-05

最新評論

庄河市| 车致| 收藏| 南靖县| 谢通门县| 巴马| 灵台县| 钦州市| 榆树市| 鹤山市| 宝应县| 酒泉市| 湖北省| 富阳市| 富平县| 桐乡市| 绍兴县| 饶河县| 澳门| 八宿县| 嫩江县| 蓬安县| 儋州市| 新宾| 沙田区| 稻城县| 东丰县| 扶余县| 龙川县| 南皮县| 阿巴嘎旗| 当阳市| 宝兴县| 二手房| 张北县| 客服| 平塘县| 金湖县| 大宁县| 南城县| 屏南县|