Google App Engine任务队列 - 令人讨厌的失败

Con*_*oob 4 python google-app-engine task-queue

我正在为GAE开发一个应用程序并尝试使用任务队列.目前,我只是通过GAE App Launcher在我的Windows机器上运行这个东西,但每当我尝试排队任何东西时,开发'服务器'崩溃并且日志充满讨厌的输出.

taskqueue.add(url='/processWork', params={'key', myModel.key()})
Run Code Online (Sandbox Code Playgroud)

我已经尝试在与其他工作的交易中运行这个,所以我很确定这项工作是否成功入队.

然而,不久之后,开发服务器崩溃,日志中充满了这样的东西:

ERROR    2011-02-06 17:04:23,289
__init__.py:395] global name 'true' is not defined Traceback (most recent call last):   File "C:\Program Files (x86)\Google\google_appengine\google\appengine\ext\webapp\__init__.py", line 517, in __call__
    handler.post(*groups)   File "C:\Projects\GAE\MyApp\main.py", line 114, in post
    activity.approved = true NameError: global name 'true' is not defined INFO     2011-02-06 17:04:23,309 dev_appserver.py:3317] "POST /processWork HTTP/1.1" 500 - WARNING  2011-02-06 17:04:23,309 taskqueue_stub.py:586] Task named "task1" on queue "default" failed with code 500; will retry in 30 seconds Traceback (most recent call last):   File "C:\Python27\lib\SocketServer.py", line 284, in _handle_request_noblock
    self.process_request(request, client_address)   File "C:\Python27\lib\SocketServer.py", line 311, in process_request
    self.shutdown_request(request)   File "C:\Python27\lib\SocketServer.py", line 459, in shutdown_request
    request.shutdown(socket.SHUT_WR) AttributeError: 'FakeConnection' object has no attribute 'shutdown' ERROR    2011-02-06 17:04:23,312 dev_appserver_main.py:494] Error encountered: Traceback (most recent call last):
    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\dev_appserver_main.py", line 488, in main
    http_server.serve_forever()
    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 3947, in serve_forever
    self.handle_request()
    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 3913, in handle_request
    self._handle_request_noblock()
    File "C:\Python27\lib\SocketServer.py", line 287, in _handle_request_noblock
    self.shutdown_request(request)
    File "C:\Python27\lib\SocketServer.py", line 459, in shutdown_request
    request.shutdown(socket.SHUT_WR)   AttributeError: 'FakeConnection' object has no attribute 'shutdown'   Now terminating.
---------------------------------------- Exception happened during processing of request from ('0.1.0.2', 80)
---------------------------------------- 2011-02-06 09:04:23 (Process exited with code 1)
Run Code Online (Sandbox Code Playgroud)

道歉 - 下面的回复发现了错字(真实,不是真).然而,这在尝试解决原始问题时悄然而至.如果我修复了拼写错误,排队的工作就完成了,但我的服务器仍然在日志中出现此错误:

INFO     2011-02-06 17:50:32,882 dev_appserver.py:3317] "POST /processWork HTTP/1.1" 200 -
Traceback (most recent call last):
  File "C:\Python27\lib\SocketServer.py", line 284, in _handle_request_noblock
    self.process_request(request, client_address)
  File "C:\Python27\lib\SocketServer.py", line 311, in process_request
    self.shutdown_request(request)
  File "C:\Python27\lib\SocketServer.py", line 459, in shutdown_request
    request.shutdown(socket.SHUT_WR)
AttributeError: 'FakeConnection' object has no attribute 'shutdown'
ERROR    2011-02-06 17:50:32,884 dev_appserver_main.py:494] Error encountered:
Traceback (most recent call last):

  File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\dev_appserver_main.py", line 488, in main
    http_server.serve_forever()

  File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 3947, in serve_forever
    self.handle_request()

  File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 3913, in handle_request
    self._handle_request_noblock()

  File "C:\Python27\lib\SocketServer.py", line 287, in _handle_request_noblock
    self.shutdown_request(request)

  File "C:\Python27\lib\SocketServer.py", line 459, in shutdown_request
    request.shutdown(socket.SHUT_WR)

AttributeError: 'FakeConnection' object has no attribute 'shutdown'

Now terminating.
----------------------------------------
Exception happened during processing of request from ('0.1.0.2', 80)
----------------------------------------
2011-02-06 09:50:32 (Process exited with code 1)
Run Code Online (Sandbox Code Playgroud)

如果我删除对taskqueue.add的调用,它工作正常(当然没有排队的工作).出了什么问题?

sys*_*out 8

File "C:\Python27\lib\SocketServer.py"
Run Code Online (Sandbox Code Playgroud)

App Engine使用Python 2.5运行,您使用的是Python 2.7.


bgp*_*ter 5

看起来像一个简单的拼写错误:

__init__.py:395] global name 'true' is not defined 
Traceback (most recent call last):   
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\ext\webapp\__init__.py", line 517, in __call__
    handler.post(*groups)   
File "C:\Projects\GAE\MyApp\main.py", line 114, in post
    activity.approved = true NameError: global name 'true' is not defined
Run Code Online (Sandbox Code Playgroud)

转到main.py第395行并进行更改

 activity.approved = true
Run Code Online (Sandbox Code Playgroud)

 activity.approved = True
Run Code Online (Sandbox Code Playgroud)

(大写"T")