Я использую Bonobo для запуска процесса ETL, где в конце у меня есть узел для очистки файлов.Тем не менее, этот архивный узел не нуждается в каких-либо входных данных от других предыдущих узлов, а также не выдает никаких выходных данных.
Прикрепление приведенного ниже кода, чтобы придать дополнительный контекст.Используя этот код, элемент управления даже не переходит в этот конкретный узел в конце.Я подозреваю, что это потому, что узел не имеет ввода-вывода, потому что, как только я даю * args в качестве ввода, код работает.Однако он запускается столько раз, сколько предыдущий узел выдает результат.Однако мне нужно запустить archive_email () только один раз.
def archive_email():
# Some code without any I/O
print('Executing cleanup')
def get_graph(**options):
"""
This function builds the graph that needs to be executed.
:return: bonobo.Graph
"""
graph = bonobo.Graph()
graph.add_chain(fetch_s3_emails, extract_email_attachment, transform, load)
return graph