Как реализовать в скрипте таймаут для запросов BigQuery?
==========================================================

 Здравствуйте. Подскажите, как можно реализовать таймаут в скрипте при выполнении запроса в BigQuery?  

Суть такова - на сервере по крону запускается баш-скрипт, который производит работу с таблицами. Всегда запрос выполнялся в пределах 3-5 минут, но в один день, по непонятной причине, один запрос повис на 6 часов и упал по внутреннему таймауту гугла.  

Хотелось бы отслеживать такую ситуацию, чтоб при повисании запроса его можно было перезапустить. Отслеживать запущен скрипт или нет - не подходит, т.к. при килле скрипта и даже самого запроса по pid'у, он в гугле продолжает выполняться.  

Тестировал скриптом на питоне с добавлением параметра 'query.timeout\_ms = 100' и 'query.timeoutMs = 100' - не сработало, видимо в таком виде это не поддерживается.  

Подскажите, может кто сталкивался с такой задачей, как лучше поступить?  

Вытягивать job\_id при выполнении запроса, и в случае его зависания - отменять? Или есть какой-то другой способ? 

 В coreutils есть команда timeout, скорее всего она уже есть на сервере. 

 В общем, реализовал малость костыльным, но рабочим способом.  

На питоне запускаю запрос, и вписываю вложенные циклы, первый проверяет статус задания по job\_id, второй отсчитывает время (конструкция a or b в питоне работает не совсем так, как хотелось бы). Если за указанное время запрос завершился, то все ок, если нет, то он убивается через client.cancel\_job.