【问题标题】:Google App Engine Cron PHP谷歌应用引擎 Cron PHP
【发布时间】:2014-03-22 23:18:17
【问题描述】:

我想在 Google App Engine 中安排一个 cron 作业。

我有一个我想调用的网址,这就是工作。

我不熟悉 cron 工作,但我要运行的文件的开发人员提供了我要运行的命令行。

我阅读了 Google App Engine PHP cron 作业文档,并且了解了调度部分。从文档的示例中,我将使用路径“/backup”。但是,我不知道如何编写文件以输入命令。

这是文档的链接:https://developers.google.com/appengine/docs/php/config/cron

调度部分(我明白这一点):

文件 cron.yaml

cron:
- description: weekly backup
  url: /backup
  schedule: every monday 05:00
  timezone: America/Los_Angeles

cron 命令行(如果是这样的话)是:

curl -b /tmp/cookies.txt -c /tmp/cookies.txt -L --max-redirs 1000 -v "http://somedomain.com/index.php?option=someoption&view=someview&key=somekey"

注意我正在调用一个 url,该 url 不在 GAE 中

我正在使用 GAE PHP SDK

我会在哪里编写 cron 命令?

此代码的文件扩展名是什么?

【问题讨论】:

  • 你的“开发者”不知道什么是应用引擎。他希望 curl 命令在某处的某个随机 unix 服务器上运行;它不能直接在应用引擎上运行。
  • 所以你对我的提问投了反对票?

标签: php google-app-engine cron


【解决方案1】:

您的 Cron 将在每周一早上 5 点调用备份 url

cron:
- description: weekly backup
  url: /backup
  schedule: every monday 05:00
  timezone: America/Los_Angeles

为此创建一个 php 处理程序,并使用开发人员在备份处理程序中提供的相同逻辑。

所以在凌晨 5 点,cron 运行 -> 请求 /backup -> 卷曲你想要的 url 或其他任何内容

编辑

我忘记了 GAE 不支持 curl。如果可能,请使用urlfetch。也看wrappersthis nice answer这件事

【讨论】:

  • 谢谢 Jimmy,但我认为 GAE 不支持 cURL。我收到错误“致命错误:在第 15 行的 /base/data/home/apps/my-app/1.34523456456456/somefile.php 中调用未定义函数 curl_init()”,而且我还遇到了来自 GAE 的 fetchUrl 文档:developers.google.com/appengine/docs/php/urlfetch
  • 我将 cRUL 脚本放在外部服务器上,并安排它通过 urlfetch 从 GAE 调用,谢谢
  • @IberoMedia 会做得很好。作为一个小细节,来自 gae 的 cron 尝试使其成为安全的管理员登录处理程序。这样可以访问 /backup 的人想要调用脚本。
猜你喜欢
  • 2011-08-21
  • 2014-07-22
  • 2019-08-02
  • 1970-01-01
  • 2011-05-06
  • 1970-01-01
  • 2014-07-31
  • 2015-03-28
相关资源
最近更新 更多