У меня есть простая задача, выполненная с помощью Spring, которая начинается с выражения cron каждую ночь. На прошлой неделе мы замечали, что при выполнении транзакции с парой тяжелых запросов задача зависает на неопределенное время, и после 2 или 3 дней ожидания мы должны перезагрузить компьютер, чтобы он продолжал работать.
Мы не можем сделать запрос быстрее, потому что он перемещает миллионы строк, но при выполнении этих сценариев с внешними программами (такими как SQLDeveloper) или с помощью теста Junit он завершается выполнением через долгое время (иногда часы), но не обрабатывает sh вообще.
Возможно ли, что Spring имеет внутренний тайм-аут, чтобы определить, занимает ли задача слишком много времени, и решает разрешить ей d ie? Я не могу найти ничего связанного с документацией, поэтому я не знаю, почему он может зависать.
Сервер вообще не обрабатывает sh, на тот случай, если кто-то думает, что у нас заканчивается память или что-то вроде этого. Дело не в этом, сервер продолжает работать без проблем, это зависание задачи.
Спасибо.