[英]Google app engine python cron: What is the testcron.py doing in the app.yaml file?
這是gae python cron作業的示例代碼。
app.yaml
- url: /testcron
script: testcron.py
login: admin
- url: .*
script: main.app
cron.yaml
cron:
- description: testcron
url: /testcron
schedule: every 12 hours
main.py
class MainHandler(webapp2.RequestHandler):
def get(self):
self.request.write('hello')
class TestCronHandler(webapp2.RequestHandler):
def get(self):
logging.info('hello')
app = webapp2.WSGIApplication([
('/', MainHandler),
('/testcron',TestCronHandler)
], debug=True)
好的,所以我注意到您不需要script: testcron.py
app.yaml文件中的script: testcron.py
。 但是,如果將其放在此處,則需要運行另一個應用程序。
那目的是什么? 我的意思是您可以在TestCronHandler中運行它。 在main.app處理程序中運行與在testcron.py中運行之間有什么區別? (似乎您需要使用testcron.py運行另一個應用程序)
你的意思不是很清楚
如果放在那里,則需要運行另一個應用程序
和
似乎您需要使用testcron.py運行另一個應用程序
如果你的意思是你需要定義的另一個app = webapp2.WSGIApplication
內taskcron.py
然后是的,這是事實,但它看起來像你沒有testcron.py
在所有的文件和你的main.py
正在處理的請求/testcron
因此您的app.yaml
看起來可能很簡單:
- url: .*
script: main.app
是否要(為了更好的代碼組織?)將cron請求/處理程序分離到一個單獨的文件中,取決於您,但是請注意,如果您有一個名為taskcron的文件。 PY那就需要在出現app.yaml
為“腳本:taskcron 應用 ”。
此外,一個重要的安全注意事項,如果你想確保普通用戶無法訪問您的cron任務網址,那么你一定要你的cron任務的處理程序移動到一個單獨的文件,並保持login: admin
下面一行script: testcron.app
內app.yaml
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.