#elasticsearch #amazon-s3 #stream
#elasticsearch #amazon-s3 #поток
Вопрос:
Я создал программу на python для потоковой передачи данных из elasticsearch в корзину S3. Поскольку это будет непрерывный поток, я хотел бы реализовать способ завершения программы после завершения полного цикла.
У меня есть что-то вроде:
While True:
timestamp = datetime.datetime.utcnow()
sizeMb = 0
Open Scroll with filter
While (scroll_size > 0):
Start scrolling through pages and add docs to the data variable
if (processTime > 60s or size of data compressed > 3Mb):
break
Write data to file in S3 bucket
Есть ли способ импортировать и повторно импортировать другой файл и проверить переменную в While True:
предложении или еще лучше в конце скрипта, и если для нее установлено значение True, то прервать?
Ответ №1:
Извините, я ответил на свой собственный вопрос в процессе. Я использую Python 3.7, я создал файл под названием killProcess.py и иметь простой kill = false
внутри. Я добавил в imports import killProcess, importlib
и в нижней части цикла я добавил
While True:
#code within loop
importlib.reload(killProcess)
if killProcess.kill:
break
и делает трюк