У меня есть вопрос о сигналах и о том, как они обрабатываются при выполнении команды sql. В частности, у меня есть сценарий Python, который работает как процесс, и внутри него создается другой процесс. После этого выполняется проверка базы данных, и внутри этой базы данных проверяется атрибут NULLEGE столбца таблицы. Я должен сказать, что таблица довольно большая ... как в больших ГБ, и она становится больше.
когда я посылаю послать сигнал термина в основной процесс (тот, который выполняет проверку базы данных), второй процесс, созданный внутри этого основного процесса, также должен завершиться. хорошо ... это происходит всегда минус, когда проверка базы данных делает это изменение атрибута NULLEGE. когда это делается, основной процесс завершается, но каким-то образом обработчик сигнала игнорируется (не входит в функцию, обрабатывающую сигнал), и, следовательно, SIGTERM не отправляется процессу, созданному внутри основного. и вот как я остался с одним застрявшим процессом.
Мой вопрос: есть ли способ блокировать сигналы (как при их постановке в очередь), пока выполняется проверка базы данных, или есть другой способ отправки сигнала TERM во второй процесс с использованием python? я успешно изменил скрипт bash, который запускает скрипт python как процесс для проверки и отправки SIGTERM в левый процесс после завершения основного процесса ... но я бы предпочел не обрабатывать его таким образом.
или есть способ прервать проверку базы данных?
ps: для обработки базы данных sqlalchemy используется под python 2.6 на Ubuntu Linux.