簡體   English   中英

Google應用程序引擎python cron:app.yaml文件中的testcron.py在做什么?

[英]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.WSGIApplicationtaskcron.py然后是的,這是事實,但它看起來像你沒有testcron.py在所有的文件和你的main.py正在處理的請求/testcron因此您的app.yaml看起來可能很簡單:

- url: .*
  script: main.app

是否要(為了更好的代碼組織?)將cron請求/處理程序分離到一個單獨的文件中,取決於您,但是請注意,如果您有一個名為taskcron的文件。 PY那就需要在出現app.yaml為“腳本:taskcron 應用 ”。

此外,一個重要的安全注意事項,如果你想確保普通用戶無法訪問您的cron任務網址,那么你一定要你的cron任務的處理程序移動到一個單獨的文件,並保持login: admin下面一行script: testcron.appapp.yaml

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM