簡體   English   中英

如何限制ScheduledExecutorService

[英]How to restrict ScheduledExecutorService

我有以下代碼,每20分鍾調用一次任務,它的工作正常。 現在,在此之上,我希望它只能在0900到1800之間工作

ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor();
scheduler.scheduleWithFixedDelay(new CSDelightAlertTask(), 0, 20, TimeUnit.MINUTES);

最簡單的解決方案是將CSDelightAlertTask包裝在僅當且僅當時間介於0900和1800之間時才運行基礎任務的包裝器中。

如果可以使用外部庫,則cron4j可以幫助您進行這種復雜的調度。 如果這是一個關閉可能不值得。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM