日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

如何使單應用支持十萬以上的定時任務

更新時間:

在SchedulerX中創建的應用默認最多只支持1,000個任務,而在某些場景下1,000個任務遠遠滿足不了業務需求。另外,實際業務場景中,不同定時任務的調度時間可能不一樣。本文介紹如何通過一系列配置,使單應用能夠支持上萬,甚至十萬以上的定時任務,并且不同任務能夠有獨立的調度時間。

應用場景

常見應用場景是每個定時任務調度時間都不一樣,無法通過MapReduce分布式任務解決(MapReduce分布式任務每個子任務調度時間是一致的)。

  • 物聯網智能開關

    智能開關可以設置定時開啟、關閉,是由用戶自定義設置的,所以每個開關的定時時間是不一致的??梢越o每一個開關設置一個定時單機任務。在物聯網場景下,定時單機任務可能會達到萬、甚至十萬級別。

  • 業務監控

    業務監控需要配置監控報警規則,一般每分鐘輪詢一次,符合規則則報警。大部分場景下使用一個MapReduce分布式任務是可以解決的,但是如果由于報警規則的復雜程度不同而導致執行時間差異較大時,有可能出現一個報警子任務沒有執行完而阻塞整個任務下次調度。所以,可以給每個報警規則配置一個定時單機任務。當業務規模很大時,定時單機任務也可能達到萬、甚至十萬級別。

  • 將SchedulerX作為底座

    當將SchedulerX作為底座,封裝一層任務調度平臺(通過POP API新建任務)提供給自己的公司使用時,任務量也有可能達到萬、甚至十萬級別。

操作步驟

使單應用能夠支持十萬以上的定時任務,需要完成以下兩個步驟:

  1. 聯系SchedulerX技術支持人員,開啟應用自動擴容。

    開啟應用自動擴容后,單應用的任務數達到上限(1000)后,會自動感知并分裂出一個新的子應用。

  2. 使用1.2.1及以上版本客戶端接入SchedulerX,并開啟共享ContainerPool功能。

    本文以Spring Boot應用為例進行介紹,客戶端接入詳情請參見Spring Boot應用接入SchedulerX。如果您使用其它類型的應用接入,請參見快速入門 > 客戶端快速接入中的相關文檔。

    1. 在應用的pom.xml文件中添加1.2.1及以上版本的客戶端依賴。

      1.2.1以下版本客戶端不支持共享ContainerPool,所以請在應用中添加1.2.1及以上版本客戶端,或將客戶端的依賴升級到1.2.1及以上版本。更多客戶端版本信息請參見客戶端發布記錄。

    2. 在應用的配置文件中添加共享ContainerPool配置。

      spring.schedulerx2.shareContainerPool=true #開啟所有任務共享線程池
      spring.schedulerx2.sharePoolSize=128   #自定義共享線程池大小
      說明

      如果未開啟共享ContainerPool,每個任務觸發都會新建一個線程池,客戶端負載會因超負荷而發生異常。