Tôi đang sử dụng Quartz with Spring để chạy một nhiệm vụ cụ thể vào nửa đêm vào ngày đầu tiên của tháng. Tôi đã kiểm tra công việc bằng cách đặt ngày máy chủ của tôi & thời gian là 11:59 vào ngày cuối cùng của tháng, bắt đầu máy chủ và quan sát nhiệm vụ chạy khi đến 12:00, nhưng tôi lo ngại về các trường hợp máy chủ (vì bất kỳ lý do gì) có thể không chạy vào nửa đêm vào ngày đầu tiên của tháng.Chạy Công việc Thạch anh Bỏ lỡ
Tôi cho rằng việc xử lý không phù hợp trong Quartz sẽ quan tâm đến điều này, nhưng có thể tôi đã nhầm lẫn về điều đó?
Có ai có thể tư vấn cho tôi về cách tôi có thể xử lý việc này không? Tôi thực sự không muốn tạo một công việc chạy mỗi 'x' giây/phút/giờ và kiểm tra xem tôi có cần chạy công việc không nếu tôi có thể tránh được.
Tôi cũng tò mò là tại sao tôi không thấy bất kỳ thông tin đăng nhập liên quan đến Quartz nào, nhưng đó là vấn đề phụ.
Dưới đây là cấu hình mùa xuân của tôi cho công việc:
<bean id="schedulerService" class="com.bah.pams.service.scheduler.SchedulerService">
<property name="surveyResponseDao" ref="surveyResponseDao"/>
<property name="organizationDao" ref="organizationDao"/>
</bean>
<bean name="createSurveyResponsesJob" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="com.bah.pams.service.scheduler.jobs.CreateSurveyResponsesJob"/>
<property name="jobDataAsMap">
<map>
<entry key="schedulerService" value-ref="schedulerService"/>
</map>
</property>
</bean>
<!-- Cron Trigger -->
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="createSurveyResponsesJob"/>
<property name="cronExpression" value="0 0 0 1 * ? *"/>
<!--if the server is down at midnight on 1st of month, run this job as soon as it starts up next -->
<property name="misfireInstructionName" value="MISFIRE_INSTRUCTION_FIRE_ONCE_NOW"/>
</bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="autoStartup" value="true"/>
<property name="quartzProperties">
<props>
<prop key="org.quartz.jobStore.class">org.quartz.simpl.RAMJobStore</prop>
<prop key="org.quartz.jobStore.misfireThreshold">60000</prop>
</props>
</property>
<property name="jobDetails">
<list>
<ref bean="createSurveyResponsesJob"/>
</list>
</property>
<property name="triggers">
<list>
<ref bean="cronTrigger"/>
</list>
</property>
</bean>