Я настраиваю сайт, используя колбу-питон. Когда это меня смущает, я здесь, чтобы показать мою бедную ситуацию:выполнить асинхронизированный отклик в колбе
...
@app.route('/wanted_delay_response')
def delay_response():
def background_work():
# I want to check some flags in the background
# this should not block, but it does as I try below
pass
gevent.spawn(background_work)
# the most confusing part comes:
return 'This is not what I really want to response'
, как показано выше, работа в фоновом режиме будет продолжаться в фоновом режиме, но результат я хочу, должна исходить от него.
Однако я понятия не имею, как уведомить сервер о том, как обрабатывать другой запрос, когда работает фоновый рисунок, но с каким-либо результатом.
Или есть ли какой-либо изящный способ отложить текущий запрос и вернуться к ответу, когда фоновая работа заканчивается, в пределах интервала сервер может обрабатывать другие запросы?
Благодарим вас за предоставление такого прекрасного решения. Для меня действительно приемлемо, чтобы HTTP-запросы существовали всего лишь короткое мгновение. Модуль Websockets показывает большое преимущество для меня не только для текущей ситуации, с которой я столкнулся, но и для объединения других частей моего сервера. – xete