Подтвердить что ты не робот

Quartz Scheduler внезапно перестает работать и не имеет ошибки исключения

У меня есть кварцевая работа, которая работала каждый день в 7 вечера. Вдруг он не смог бежать. Я проверяю свой сервер .log и нет исключений. Кто-нибудь может понять, что может быть проблемой?

Заранее спасибо

4b9b3361

Ответ 1

У меня была аналогичная проблема, но проблема была в том, что у меня было 10 нитей quartz по умолчанию количество потоков в свойствах кварца и когда я сделал дамп потока * Я обнаружил, что у меня есть 10 заданий в заблокированном stat, что означает, что я больше не могу запускать потоки.

Быстрое исправление этой проблемы для увеличения количества потоков в пуле потоков в свойствах кварца.

Фактическое исправление рассматривало мой код, чтобы узнать, почему у меня было 10 заблокированных потоков.

* для создания дампа потока вы можете использовать kill -3 < java process number > , которые печатают дамп потока для вашего стандартного вывода приложения. Если вы используете tomcat, вы найдете его в файле catalina.out журнала

Ответ 2

В моем случае у меня было открытое соединение с базой данных. Когда у меня не было больше связей, мои потоки оставались в ожидании. Поскольку я не мог начать никаких других заданий, ничего не произошло, и все оставалось заблокированным. Мой совет - проверить, есть ли у вас блокирующий ресурс, который вам может понадобиться для выпуска.

Ответ 3

Если вы используете базу данных для хранения заданий, проверьте триггер_стату вашего триггера. Сейчас я вижу подобную проблему (или, по крайней мере, она имеет похожие симптомы).

Задание, выполняющееся один раз в минуту, покидает триггер в состоянии "ACQUIRED" и больше не будет запускаться снова. Как и вы, я ничего не вижу в журнале.

Я также вижу другую причину одной и той же проблемы. Опять же, работа просто перестает работать, но триггер не находится в состоянии "ACQUIRED". Пока я не знаю причину.

То, что я знаю до сих пор, заключается в том, что поток планировщика ждет свободный рабочий поток. Похоже, что все рабочие потоки ждут семафора, чтобы обновить свое расписание. Я еще не смог получить дамп потока, чтобы проверить, что ожидают рабочие потоки.

Я запускаю Quartz 1.6.1 RC1. См. Этот отчет об ошибке: http://jira.opensymphony.com/browse/QUARTZ-668

Я думаю, что я вижу.

Ответ 4

Проверьте, не выполняет ли какой-либо Ион ​​Исключение. Поместите код работы exe в блок catch try, отслеживая любое исключение, чтобы устранить проблему.

Ответ 5

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

Когда мы переводим сборку в производство, планировщики работают хорошо, и все будет хорошо до субботы. В субботу мой планировщик внезапно остановился. Я не нашел никаких исключений, связанных с планировщиком на моем сервере приложений (OC4J).

Я использую версию кварца-1.5.2. Я не могу проследить фактическую основную причину проблемы.

Я запускаю планировщик при запуске сервера приложений. Если что-то пойдет не так, оно перестанет работать. Тогда у меня нет шансов начать их.

Я думаю, что если я начну планировщики, вызвав сервлет init, используя некоторый запрос jsp, это снова изменит ситуацию. Это будет похоже на просмотр профиля (здоровье наших планировщиков и запуск их снова). Если у вас есть лучший подход к запуску планировщика, пожалуйста, предложите мне.

Ответ 6

Да, увеличение количества потоков от 7 до 10 в quartz.properties, похоже, решает эту проблему.