Я хотел бы создать микросервис с flask (и kubernetes), который будет запускать тесты (с pytest.main или аналогичным способом). Служба вызовет pytest.main с плагинами pytest-xdist и запустит его в фоновом режиме. Пользователь может получить статус запуска из другого http-вызова или функции.
Например:
@app.route('/tests/run', methods=['POST'])
def tests_run():
result = pytest.main(params, [self.test_plugins]) -> This will run in the background
return Response(...)
@app.route('/tests/run', methods=['GET'])
def test_status():
return Response(...)
@app.route('/tests/run', methods=['DELETE'])
def test_cancel():
pytest.exit()
return Response(...)
Какова наилучшая практика для решения этой проблемы?