Как правильно остановить работу AWS Glue?
Я использую Glue v3.0 (Python 3.7).
Цель состоит в том, чтобы корректно остановить задание Glue PySpark, чтобы оно могло завершиться должным образом и очистить свои пользовательские ресурсы перед завершением.
Я попытался поймать сигнал stop / abort / kill, используя классический метод signal.signal () с его обработчиком.
Однако он, похоже, не работает с сигналами, указанными в по сигналам документацииpython (обработчик никогда не вызывается ).
Есть идеи, как я могу остановить работу изящно, используя метод сигнала или нет?
1 ответ
Вы можете позвонить
sys.exit(any_status_code)
. Просто убедитесь, что sys.exit вызывается до job.commit(), иначе задание завершится ошибкой.
Просто из любопытства, зачем вам самому увольняться с работы? После того, как вы позвоните
job.commit()
работа должна закончиться в любом случае.
Редактировать:
Вызов этого должен работать:
job.commit()
os._exit()