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