Python 如何在GoogleAppEngine上使用任务队列获取返回值(如Ajax)
我可以使用任务队列来更改数据库值,但是如何使用任务队列像Ajax一样获得返回值呢 这是我的代码:Python 如何在GoogleAppEngine上使用任务队列获取返回值(如Ajax),python,ajax,google-app-engine,task-queue,Python,Ajax,Google App Engine,Task Queue,我可以使用任务队列来更改数据库值,但是如何使用任务队列像Ajax一样获得返回值呢 这是我的代码: from google.appengine.api.labs import taskqueue from google.appengine.ext import db from google.appengine.ext import webapp from google.appengine.ext.webapp import template from google.appengine.ext.we
from google.appengine.api.labs import taskqueue
from google.appengine.ext import db
from google.appengine.ext import webapp
from google.appengine.ext.webapp import template
from google.appengine.ext.webapp.util import run_wsgi_app
import os
class Counter(db.Model):
count = db.IntegerProperty(indexed=False)
class BaseRequestHandler(webapp.RequestHandler):
def render_template(self, filename, template_values={}):
values={
}
template_values.update(values)
path = os.path.join(os.path.dirname(__file__), 'templates', filename)
self.response.out.write(template.render(path, template_values))
class CounterHandler(BaseRequestHandler):
def get(self):
self.render_template('counters.html',{'counters': Counter.all()})
def post(self):
key = self.request.get('key')
# Add the task to the default queue.
for loop in range(0,1):
a=taskqueue.add(url='/worker', params={'key': key})
#self.redirect('/')
self.response.out.write(a)
class CounterWorker(webapp.RequestHandler):
def post(self): # should run at most 1/s
key = self.request.get('key')
def txn():
counter = Counter.get_by_key_name(key)
if counter is None:
counter = Counter(key_name=key, count=1)
else:
counter.count += 1
counter.put()
db.run_in_transaction(txn)
self.response.out.write('sss')#used for get by task queue
def main():
run_wsgi_app(webapp.WSGIApplication([
('/', CounterHandler),
('/worker', CounterWorker),
]))
if __name__ == '__main__':
main()
如何显示“sss”?当前不支持处理返回值或将返回值发送回原点。您的appengine进程的寿命不够长,无法让该编程范式正常工作
在您的示例中,您想要的是这样的: