我想在Google App Engine上安排一个cron作业,每10分钟左右查看我的5个主要页面,以保持当前实例的运行,并为用户提高页面速度。 我了解所有创建cron作业的基本语法,但我很好奇python是怎样的。 我是否需要简单地创建5个不同的cron作业,并让每个作业获取一个URL?
为了回答你的具体问题,这样的cron.yaml可以是这样的。
cron:
- description: five minute run
url: /refresh
schedule: every 5 minutes
其中刷新是你在应用中写的一个处理程序 每隔N分钟会自动调用一次
E.G.myapplication.appspot.comrefresh。
没有必要刷新一个特定的页面或多个页面。只要让处理程序被调用,就能让你的应用保持活力。
但正如其他人所指出的那样,这对保持一个应用程序的永久温暖有点过头了。
你不必诉诸于此。你可以付费让App Engine保持一定数量的前端持续运行。它们被称为 "常驻 "实例。
https:/developers.google.comappenginedocsadminconsoleinstances。
我不知道AppEngine,但是,在通用的Python中,你需要的是 urllib.urlopen(). 我可能只需要一个脚本,按顺序拉出所有5个页面--我实在想不出有什么理由让它们分开。
https:/cloud.google.comappenginedocsstandardpythonconfigappref#automatic_scaling_min_instances。
这似乎是解决你现在单一低流量自动伸缩实例问题的正确方法。基本上只要在你的app.yaml中添加以下内容。
automatic_scaling:
min_instances: 1
...然后在你的应用程序中添加暖机处理程序(只是为了避免每次GAE尝试暖机时抛出400错误)。https:/cloud.google.comappenginedocsstandardpython3configuring-warmup-requests
不要把时间浪费在ping上,这样做的效果&成本完全一样。
Cron job只能获取一个url。
我看有两种方法:1.你可以为每个页面添加cron.2.你可以添加一个cron作业,然后添加 任务 从cron到每个页面。