我一直在尋找一種方式來運行一個Python應用程序瓶,而同時使用GEVENT處理請求連續後臺任務:長期運行的後臺任務
from gevent import monkey; monkey.patch_all()
from time import sleep
from bottle import route, run
# run_background_function()
# ^^^^ starts a single background task that runs every few seconds
# and continues for the life of the whole Bottle application.
@route('/simple-request')
def simple_request():
# a simple function that returns a rendered page and
# is capable of serving multiple requests
return rendered_page()
run(host='0.0.0.0', port=8080, server='gevent')
我雖然讀許多stackoverflow線程和7個完整的教程到目前爲止包括Gevent,線程,芹菜,rabbitmq,redis和不知道我應該用什麼來實現這種能力。 Celery,RabbitMQ和Redis對於運行這一個後臺任務似乎都非常困難和矯枉過正,再加上如果可能的話,我寧願在Python標準庫中保留選項。
到目前爲止我發現的教程從非常基本的開始,然後突然跳躍到包括第三方庫,套接字,特定的web框架等。是否沒有辦法在Python線程模塊上這樣做?
芹菜的RabbitMQ和Redis的不是瘋狂的困難。他們可能會或可能不會爲你的情況矯枉過正,這取決於你的需求的細節。 – scytale
@scytale。好吧,也許不是非常困難,但在嘗試了大量教程和這些軟件包的入門指南之後,它們最引人注目的一個基本介紹,它帶有比所需更復雜的示例代碼。對於一個沒有這樣做的例子,在兩個段落中清楚地解釋了一個概念(隊列/列表解釋),請看這裏:[Multithreading/Queues](http://www.troyfawkes.com/learn-python-multithreading-queues -basics /) – zilog6502
本教程針對的是熟悉基本編程概念的程序員 - 他們無法解釋_everything_ - 您只需要做更多的閱讀 – scytale