0

我是 Google App Engine 的新手。APScheduler 非常适合 python 中的简单代码。但是当上传到 GAE 时,它显示连续加载没有响应。

import webapp2
import sys
import time
def my_job(text):
    self.response.out.write(text)

sys.path.insert(0, 'libs')

from bs4 import BeautifulSoup
from apscheduler.scheduler import Scheduler
sched = Scheduler()

class MainPage(webapp2.RequestHandler):
    def get(self):
    html = "<html><p>Para 1<p>Para 2<blockquote>Quote 1<blockquote>Quote 2"
soup = BeautifulSoup(html)
self.response.out.write(soup.prettify())
self.response.out.write(time.strftime("%d/%m/%Y"))
self.response.out.write(time.strftime("%H:%M:%S"))

job = sched.add_date_job(my_job, '2015-03-5 16:13:05', ['Hello World'])#
sched.start()
while True:
  sleep(1)
app = webapp2.WSGIApplication([('/', MainPage)], debug=True)
4

2 回答 2

1

正如其他人指出的那样,这是真的:睡眠会给你带来问题。但是,您的问题远不止于此。

APScheduler 不是开箱即用的 appengine 工具,除非您在计算引擎下运行它。

Appengine 前端请求最多只能运行 60 秒。Appengine 有自己的工具,称为任务队列和 cron。

需要修改 APScheduler 以使用这些底层服务才能在 appengine 上使用。

于 2015-03-06T11:17:39.077 回答
0

您的代码中的问题是:

while True:
  sleep(1)

这将导致您的请求永远挂起并且永远不会响应。

于 2015-03-05T15:42:39.347 回答