2017-05-26 16 views
0

@Scheduleを使用して、システムが異なる時間にタスクを実行するようにします。しかし、最近、いくつかのタスクが延期されていることがわかりました。たとえば、毎朝5:00に実行するタスクが1つあります。現在、正午または後で午後に実行されることがあります。何か案は?ありがとう。春にスケジュールされたタスクが時間内に実行されない

スケジューラサービス:ここで入手可能な情報で

@Service 
public class DailyReminderTasks extends AbstractTask { 

private final static Logger logger = LoggerFactory 
     .getLogger(DailyReminderTasks.class); 

private SendAuditReminderNotificationSerivce sendAuditReminderNotificationSerivce; 

@Scheduled(cron = "0 0 5 * * ?") 
// run at 5:00 am every day 
public void sendAuditReponseReminderLetter() {  
    try { 
     sendAuditReminderNotificationSerivce.sendAuditReponseReminder(); 
    } catch (Exception ex) { 
     logger.error("failed to send reminder: ", ex); 
    } 
} 

public SendAuditReminderNotificationSerivce getSendAuditReminderNotificationSerivce() { 
    return sendAuditReminderNotificationSerivce; 
} 

@Autowired(required = true) 
public void setSendAuditReminderNotificationSerivce(
     SendAuditReminderNotificationSerivce sendAuditReminderNotificationSerivce) { 
    this.sendAuditReminderNotificationSerivce = sendAuditReminderNotificationSerivce; 
} 
+0

タスクを実行するのに24時間以上かかることがありますか?あなたのコードには他にも多くの '@ Scheduled'アノテーションがありますか?その情報がなければ、言うのは難しい。また、余分な構成がない限り、これは 'quartz-scheduler'とは関係がないと私は考えています。 –

+0

私は24時間以上実行しているタスクがありません。そして私は、さまざまな時間に異なるタスクをスケジュールするために多くの@Scheduledアノテーションを持っています。私は石英スケジューラのための余分な構成を持っていません。ありがとう。 –

答えて

0

、最も可能性のある説明は、タスクのスケジューリングを扱うバックグラウンドスレッド・プールが追いついていないため、時間の間、タスクがキューに置かれていることで、それが実行される時間、多くの時間が渡すことができます。

+0

任意のソリューションですか?ありがとう。 –

関連する問題