2011-12-15 5 views
4

я следующий класс работы (я удалил фактический код задания):Рабочие задания PlayFramework выполняются несколько раз?

@On("0 0 1 * * ?") 
public class DailyJob extends Job 
{ 
    @Override 
    public void doJob() throws Exception 
    { 
// I log from here   
    } 
} 

Мой журнал говорит мне, что эта работа выполняется несколько раз в день, в то время как она должна быть выполнена только один раз в день (в 01:00). Сегодня он был исполнен 4 раза. Код работает на экземпляре tomcat на сервере моего клиента. Я считал, что сайт может работать на нескольких серверах, но я спросил об этом, и они сказали только один. Поэтому я думаю, что 4 не могут быть и речи. Тем не менее, я сделал блокировку функции (на статическом объекте), а внутри блокировки/синхронизации я проверил и установил предыдущую дату выполнения (statc - System.currentTimeMillis()). И если это менее 10 секунд назад, оно должно быть зарегистрировано. Однако этого не происходит, даже если задание выполняется 4 раза за ту же секунду. Поэтому я думаю, что это может быть выполнено в 4 разных средах.

Я думаю, что он может работать на игре 1.2.2

Любая идея?

+0

Возможно, глупый вопрос, но вы проверили, что журналы не написаны 4 раза? – emt14

+1

:) Я установил этот сайт на своем локальном компьютере, работающем в той же среде, что и производственный сервер, и только один раз регистрируется. Я также получаю исключения для блокировки/сохранения в спящем режиме, которые показывают, что больше потоков имеет дело с одним и тем же материалом. (насколько я понимаю) (ну, очевидно, он не может быть на 100% идентичен системе prod, но более или менее) – bendahmon

+1

работает как несколько экземпляров на одном сервере? Я уже видел эту тактику, чтобы сохранить размер кучи для более эффективной сборки мусора. – Codemwnci

ответ

0

Я помню аналогичную ошибку, зафиксированную в недавней игровой версии. Вы пытались использовать игру 1.2.4?

+0

Да, используя игру 1.2.4 ... Тем не менее, я задаюсь вопросом, является ли это проблемой tomcat, запуская веб-приложение в нескольких средах. – bendahmon

Смежные вопросы