在叢集環境中執行的Spring計劃排程任務 - Stack Overflow
我正在編寫一個具有cron作業的應用程式,該作業每60秒執行一次。該應用程式被配置為在需要時擴充套件到多個例項。我只想每60秒(在任何節點上)在1個例項上執行任務。開箱即用,我找不到解決方案,我正在使用Spring 4.1.6。
有一個ShedLock專案可以滿足此目的。您只需註釋執行時應鎖定的任務:
@Scheduled( ... ) @SchedulerLock(name = "scheduledTaskName") public void scheduledTask() { // do something } |
配置Spring和LockProvider:
@Configuration @EnableScheduling @EnableSchedulerLock(defaultLockAtMostFor = "10m") class MySpringConfiguration { ... @Bean public LockProvider lockProvider(DataSource dataSource) { return new JdbcTemplateLockProvider(dataSource); } ... } |
相關文章
- Spring Boot Quartz 分散式叢集任務排程實現Spring Bootquartz分散式
- Linux 中 Laravel 任務排程不執行LinuxLaravel
- Spring Boot應用中進行任務排程Spring Boot
- Spark叢集和任務執行Spark
- laravel框架任務排程(定時執行任務)Laravel框架
- Spring 指南(排程任務)Spring
- Flink - Task 任務排程執行流程
- 利用SSIS在SQL Azure中執行計劃任務(下)KCSQL
- 利用SSIS在SQL Azure中執行計劃任務(上)DJSQL
- Spring排程定時任務的方式Spring
- Spark 叢集執行任務失敗的故障處理Spark
- 使用寶塔計劃任務啟動laravel排程器Laravel
- Spark中資源排程和任務排程Spark
- 帶有分散式鎖的Go計劃任務排程器- DEV分散式Godev
- CloseableHttpClient 連線超時導致XxlJob排程阻塞,影響排程任務的執行HTTPclient
- 任務排程
- 深入解析 DolphinScheduler 任務排程、拆分與執行全流程
- Android 中的定時任務排程Android
- 在 Golang 中進行「任務排程」,像用 Laravel 一樣絲滑GolangLaravel
- Quartz在Spring中叢集quartzSpring
- 任務排程的並行演算法並行演算法
- Spark程式碼在叢集上執行過程理解Spark
- jdk排程任務執行緒池ScheduledThreadPoolExecutor工作原理解析JDK執行緒thread
- Airflow 任務排程AI
- Laravel 任務排程Laravel
- stack overflow
- 程序中的執行緒排程執行緒
- 在spring boot中3分鐘上手分散式任務排程系統xxl-jobSpring Boot分散式
- 聊聊PowerJob的任務排程
- 在Grammarly的生產環境中執行LispLisp
- 基於Redis的任務排程設計方案Redis
- 詳解BI系統中的任務排程
- Spring5原始碼解析-Spring中的非同步和計劃任務Spring原始碼非同步
- 分散式任務排程分散式
- Quartz - Spring整合Quartz實現叢集的定時任務quartzSpring
- 在 Linux 中怎麼使用 cron 計劃任務Linux
- 如何使用 cron 任務在 Linux 中計劃和自動化任務Linux
- 資料排程元件:基於Azkaban協調時序任務執行元件