У меня есть префект-сервер, работающий локально (версия ядра 0.13). Я вызвал flow.run () al oop 1000 тысяч раз на сервере с 64 ГБ ОЗУ и 32 ядрами ЦП. Когда он достиг ~ 300 запусков, он начал выдавать ошибки отказа в соединении от GraphQL.
Я все еще раздумываю, использовать ли Prefect для моих рабочих процессов, но похоже, что он использует слишком много оперативной памяти. Как Prefect масштабируется одновременно с тысячами рабочих процессов?
Я запускаю рабочий процесс с простым примером:
176 from flask import Flask
177 app = Flask(__name__)
178
179 import prefect
180 client = prefect.Client()
181
182 @app.route('/')
183 def hello_world():
184 client.create_flow_run("032275d0-6c31-4dc5-bf32-5b2afadbe531")
185 return 'Hello, World!'
Затем я вызываю REST API, чтобы запустить поток от 1 до 1000 .
for i in {1..1000}; do curl localhost:5000/; done
Я понимаю, что GraphQL использует много памяти (до 10 ГБ ОЗУ). Затем пользовательский интерфейс Prefect начинает зависать около 100.
Я не уверен, использую ли я рабочий процесс Prefect в качестве предполагаемого использования, но хотел бы решить эту проблему, если это возможно.