Попытка проверить, обслуживает ли мое приложение uWSGI-> py2.7-> Flask-> gevent запросы одновременно.
Многие гиды говорят, что gevent.sleep (0) - это то, что вам нужно сделать, чтобы ваш поток заработал. Для моей ситуации это не работает. После долгих проб и ошибок, я понял, что мне нужно было установить ненулевое значение сна, чтобы заставить мой работающий гринлет выдавать результат.
Этот совет в фактическом фактическом документе gevent.sleep действительно объясняет, как ненулевое значениеработает, и для меня имеет смысл, почему это работает:
Подсказка В текущей реализации значение 0 (по умолчанию) означает, что можно выполнить выполнение любым другим работающим гринлетам, но этот гринлет можетбыть запланированным снова перед циклами цикла событий (в крайнем случае, гринлет, который постоянно спит с 0, может помешать гринлетам, которые готовы сделать ввод / вывод, быть запланированными на некоторый (маленький) период времени);с другой стороны, значение больше 0 задержит запуск этого гринлета до следующей итерации цикла.
Что я делаю не понимаю, почему sleep (0) не работает, и что фактически делает sleep (0). Что же делает gevent в sleep (0), чтобы решить, на какой гринлет переключиться в контекст? И если оно не предназначено или не способно включить режим сна (0), в чем смысл этого значения по умолчанию и почему так много руководств в Интернете говорят, что делают это именно так?