1
我有一個CRON作業,每天從S3存儲桶導入20個新文件到GS存儲桶。在Google應用引擎中並行化了延期任務嗎?
這裏是我的代碼:
import webapp2
import yaml
from google.appengine.ext import deferred
class CronTask(webapp2.RequestHandler):
def get(self):
with open('/my/config/file') as file:
config_dict = yaml.load(file_config_file)
for file_to_load in config_dict:
deferred.defer(my_import_function, file_to_load)
app = webapp2.WSGIApplication([
('/', CronTask)
], debug=True)
我的問題:這是裝載工作通過deferred.defer
功能排隊過程中自動並行化,否則,我paralelize它自己?
如果我們在第二種情況下,我可以使用什麼技術來有效地並行處理這個加載過程?
你能給我一些配置的例子嗎? – sweeeeeet
Greg發佈的任務隊列鏈接有'max_concurrent_requests'附近的例子。只要你的'deferred.defer'指向'queue_name'中'max_concurrent_requests'> 0(或省略)'queue.yaml',那麼你會沒事的。 –
讓我們假設我發送給我的隊列的任務每個要完成2個小時。由於推送隊列中的任務需要10分鐘才能完成,因此可能不是一個好的解決方案。對於如此長時間的治療來說,這是一個很好的做法,爲了以平行的方式對待他們,但是沒有時間限制,這樣他們就有時間完成了。 – sweeeeeet