Кварцевый планировщик внезапно перестал работать и не возникла ошибка - PullRequest
22 голосов
/ 06 марта 2009

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

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

Ответы [ 6 ]

12 голосов
/ 11 апреля 2011

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

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

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

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

7 голосов
/ 20 января 2014

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

2 голосов
/ 10 ноября 2009

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

2 голосов
/ 05 мая 2009

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

Задание, которое запускается раз в минуту, оставляет триггер в состоянии «ПРИОБРЕТЕНО» и больше никогда не будет запущено. Как и вы, я ничего не вижу в журнале.

Я также вижу другую причину той же проблемы. Опять же, задание просто останавливается, но триггер не находится в состоянии «ПРИОБРЕТЕН». Пока я не знаю причину.

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

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

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

0 голосов
/ 04 июня 2013

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

0 голосов
/ 29 ноября 2011

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

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...