仅使用Google App Engine的URL Fetch调用PHP脚本

1 投票
3 回答
671 浏览
提问于 2025-04-15 20:41

我想在Google App Engine上调用一个PHP脚本。我的目的是执行这个脚本。这个脚本会更新我在网络主机上的几个数据库。不过,我觉得Google App会等着这个脚本的响应。有没有办法让我可以启动这个脚本呢?

这个脚本需要一些时间来完成,而在这段时间里,Google App可能会因为等太久而停止工作。

3 个回答

0

为什么不把你的PHP脚本的功能用Python重写呢?
PHP是一种很糟糕的脚本语言,既然你在考虑从一个非常强大的语言里面调用它,那不如直接用Python来完成所有的事情。

2

你能不能不修改PHP脚本,让它简单地执行一个后台任务,然后返回一个200的确认信息?无论如何,如果只要发个GET请求到那个脚本就能启动一个任务的话,你可以在AppEngine上使用异步的URLFetch来做到这一点(http://code.google.com/appengine/docs/python/urlfetch/asynchronousrequests.html)。然后只需要把这个调用放在try/except里,遇到异常就忽略掉就行了。

1

只需要发起一个URLFetch请求。如果PHP页面返回的时间超过10秒,这没关系(前提是你不在乎返回的结果)——它还是会继续执行下去。

如果你愿意,可以做一个异步HTTP请求,这样就不用等它完成了。

撰写回答