在谷歌应用引擎上的Cron工作,以加快页面的速度。

问题描述 投票:0回答:5

我想在Google App Engine上安排一个cron作业,每10分钟左右查看我的5个主要页面,以保持当前实例的运行,并为用户提高页面速度。 我了解所有创建cron作业的基本语法,但我很好奇python是怎样的。 我是否需要简单地创建5个不同的cron作业,并让每个作业获取一个URL?

python google-app-engine cron crontab
5个回答
4
投票

为了回答你的具体问题,这样的cron.yaml可以是这样的。

cron:
- description: five minute run
  url: /refresh
  schedule: every 5 minutes

其中刷新是你在应用中写的一个处理程序 每隔N分钟会自动调用一次

E.G.myapplication.appspot.comrefresh。

没有必要刷新一个特定的页面或多个页面。只要让处理程序被调用,就能让你的应用保持活力。

但正如其他人所指出的那样,这对保持一个应用程序的永久温暖有点过头了。


2
投票

你不必诉诸于此。你可以付费让App Engine保持一定数量的前端持续运行。它们被称为 "常驻 "实例。

https:/developers.google.comappenginedocsadminconsoleinstances。


1
投票

我不知道AppEngine,但是,在通用的Python中,你需要的是 urllib.urlopen(). 我可能只需要一个脚本,按顺序拉出所有5个页面--我实在想不出有什么理由让它们分开。


1
投票

https:/cloud.google.comappenginedocsstandardpythonconfigappref#automatic_scaling_min_instances。

这似乎是解决你现在单一低流量自动伸缩实例问题的正确方法。基本上只要在你的app.yaml中添加以下内容。

automatic_scaling:
  min_instances: 1

...然后在你的应用程序中添加暖机处理程序(只是为了避免每次GAE尝试暖机时抛出400错误)。https:/cloud.google.comappenginedocsstandardpython3configuring-warmup-requests

不要把时间浪费在ping上,这样做的效果&成本完全一样。


-3
投票

Cron job只能获取一个url。

我看有两种方法:1.你可以为每个页面添加cron.2.你可以添加一个cron作业,然后添加 任务 从cron到每个页面。

© www.soinside.com 2019 - 2024. All rights reserved.