如何在Google App Engine上将参数传递给python cron任务?

我有一个用Python编写的应用程序.它从某些来源(RSS,Atom,Twitter等)收集并解析数据,如果找到新数据,则将其保存到MySQL数据库中.

我在应用程序本身上定义了许多资源,由于限制(例如Twitter及其每小时350个查询,例如),并非所有功能都可以在同一时间检查,因此,其想法是通过将资源作为参数传递来分别对它们进行计时.

myscript.py –update –source ABC(从ABC源获取,解析,检查和保存数据)
myscript.py –update –source XYZ(从XYZ源获取,解析,检查和保存数据)

到目前为止,我可以在本地cron上正常工作,但我想在Google App Engine上运行此程序,如下所示:

cron.yaml:

cron:
- description: update source ABC
  url: /myscript.py --source ABC
  schedule: every 5 minutes
  login: admin
- description: update source XYZ
  url: /myscript.py --source XYZ
  schedule: every 12 minutes
  login: admin

我尚未在App Engine Cron文档中找到任何方法来完成此操作.任何解决方法?

解决方法:

将源变量放在您的网址路径中:

cron:
- description: update source ABC
  url: /cron/ABC/
  schedule: every 5 minutes
  login: admin
- description: update source XYZ
  url: /cron/XYZ/
  schedule: every 12 minutes
  login: admin

webapp.WSGIApplication([('/cron/([^/]+)/', CronHandler)])    

class CronHandler(webapp.RequestHandler):
    def post(self, source): 
            #do something with source variable...
上一篇:在数字Python代码中检查参数


下一篇:浅谈[].slice.call(arguments, 1)