Можно ли сбросить таймер cron? - PullRequest
1 голос
/ 11 октября 2011

Я знаю, что могу сбросить таймер Java, но, поскольку я уже проделал такую ​​большую работу, используя только триггер cron, мне интересно, можно ли сбросить количество времени, оставшегося до срабатывания триггера.

Вот немного подробнее:

  1. На веб-сайте случайное событие выбирается из базы данных случайным образом и помещается на первой странице как событие «Featured».
  2. Каждые три часа событие удаляется, и процесс повторяется с новым избранным событием.

Так вот, где запускается триггер хрон. Теперь я хочу добавитьдополнительное правило:

Если все доступные места для этого события будут заняты, я хочу, чтобы это событие началось преждевременно, вращаясь сразу с новым показанным событием и возобновляя обычный шаблон каждые три часа.В противном случае распроданное событие просто останется на первой странице как «показанное».

Можно ли это сделать?Я использую фреймворк Java SpringSource на tomcat 6.

Спасибо.

Обновление : после продолжения еще нескольких запросов Google я наконец-то придумал "сбросить"() "функция из http://spacemapper.sourceforge.net/mn8/api/org/media/mn8/util/cron/CronTrigger.html. Но может ли это быть реализовано в Spring?

Вот некоторый код, таймер в настоящее время не установлен на 3 часа, только для тестирования:

<bean id="queueJob" class="org.springframework.scheduling.quartz.JobDetailBean">
    <property name="jobClass" value="com.---.-.service.scheduler.BaseQuartzScheduler" />
    <property name="jobDataAsMap">
        <map>
            <entry key="processorName" value="scheduleListingActions" />
            <entry key="methodName" value="revolveQueue" />
        </map>
    </property> 
</bean>

<bean id="queueCronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
    <property name="jobDetail" ref="queueJob" />
    <property name="cronExpression" value="1-59/59 * * * * ?" />
</bean>

1 Ответ

1 голос
/ 11 октября 2011

Вы можете использовать at (что позволяет планировать, когда будет вызываться программа) или просто написать демон, который спит.Использование cron для этой цели грязно.

...