У меня довольно стандартная бутылка Python api. Несколько функций утилиты общего доступа api. Похоже, что функция утилиты не вызывается параллельно ???Python Bottle Framework - общая функция не запускается параллельно с конечными точками
В приведенном ниже примере кода api имеет две конечные точки, foo и bar. Я понимаю, что если foo и bar вызывались одновременно, для их обработки создаются два отдельных потока. Таким образом, util_func должен выполняться в рамках этих потоков.
Я вижу две отдельные темы, созданные. Но util_func, похоже, заблокирован последним вызывающим потоком. Например, если вызывается bar, то foo. util_func в баре блокируется до тех пор, пока util_func в foo не завершится. Затем util_func в баре завершается.
Является ли это ожидаемым поведением ??? Единственное отличие моего кода в том, что util_func - это отдельный модуль.
def util_func():
# do stuff
@app.route(/foo)
def foo():
util_func()
# do other stuff
@app.route(/bar)
def bar():
util_func()
# do other stuff
bottle.run(app=app,host='localhost', port=8888,server='cherrypy')
Да, это ожидаемое поведение , предполагая, что 'util_func' не делает никаких вызовов ввода/вывода. Запускается только один поток Python. См. Https://wiki.python.org/moin/GlobalInterpreterLock –