Fixed
Status Update
Comments
kh...@google.com <kh...@google.com> #2
Would you be able to describe your use case of why you need to do on the order of hundreds of directions requests please?
rm...@google.com <rm...@google.com> #3
Sure. This is my application: http://lstsim.de/
It is in German, so here's a short description: It's a simulation of an emergency services dispatch center. The user is in charge of sending ambulances to different places all over the area. I'm using the Directions Service, so the ambulances on the map use the actual roads (and even respect the speed limits). Every trip from one location to another takes a single request. This allows me to achieve a pretty realistic replication of the reality.
This also means I don't actually need a routing request every second, but it rather depends on how busy things are in the game. My users were reporting routing errors usually after 300 routings and about an hour or so of playing, so you get an idea of the average request rate.
It is in German, so here's a short description: It's a simulation of an emergency services dispatch center. The user is in charge of sending ambulances to different places all over the area. I'm using the Directions Service, so the ambulances on the map use the actual roads (and even respect the speed limits). Every trip from one location to another takes a single request. This allows me to achieve a pretty realistic replication of the reality.
This also means I don't actually need a routing request every second, but it rather depends on how busy things are in the game. My users were reporting routing errors usually after 300 routings and about an hour or so of playing, so you get an idea of the average request rate.
Description
```
ERROR 2017-12-09 10:58:13,309 wsgi.py:263]
Traceback (most recent call last):
File "/home/XXXX/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 240, in Handle
handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
File "/home/XXXX/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 299, in _LoadHandler
handler, path, err = LoadObject(self._handler)
File "/home/XXXX/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 85, in LoadObject
obj = __import__(path[0])
File "/home/XXXX/zzz/std_watcher_runapp.py", line 10, in <module>
from flask import Flask, current_app, jsonify, url_for, request
File "/home/XXXX/zzz/lib/flask/__init__.py", line 17, in <module>
from werkzeug.exceptions import abort
File "/home/XXXX/zzz/lib/werkzeug/__init__.py", line 151, in <module>
__import__('werkzeug.exceptions')
File "/home/XXXX/zzz/lib/werkzeug/exceptions.py", line 71, in <module>
from werkzeug.wrappers import Response
File "/home/XXXX/zzz/lib/werkzeug/wrappers.py", line 37, in <module>
from werkzeug.formparser import FormDataParser, default_stream_factory
File "/home/XXXX/zzz/lib/werkzeug/formparser.py", line 14, in <module>
from tempfile import SpooledTemporaryFile
ImportError: cannot import name SpooledTemporaryFile
```
my app.yaml is the following:
Flask==0.12.2
google-api-python-client==1.6.4
google-auth==1.2.1
Forcing werkzeug to stay one version below latest one fixes the issue
werkzeug==0.12.2