Я не знаю способа отложить выключение, пока работа не закончится естественным образом. Обычно люди пытаются остановить запущенные задания, а затем перезапустить их позже. Если вы можете определить, какие задания выполняются на этом сервере, вы можете остановить эти задания и подождать их завершения (путем проверки состояния задания), прежде чем разрешить серверу завершить работу. Если вы аккуратно остановите сервер, то он автоматически попытается остановить задания, но только подождет немного (30 секунд?), Прежде чем просто отключить сервер.
Остановить запущенные задания сложно, потому что они не обязательно останавливаются. Например, если задание выполняет пакетный режим, то будет запущен метод stop () этого пакетного метода, но пакетное приложение может просто игнорировать это и ничего не делать (или может не иметь возможности что-либо остановить, в зависимости от того, что шаг делает).
То, насколько новая работа не может попасть на сервер, зависит от того, как она там работает (есть несколько различных возможностей).