我有一个用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...