You might try to deploy your code to a new version, then set the new
version to default.  That will cause your app to reload.

I think Tim has a good idea, deploy the same code to two versions.
Then when you get a stuck / corrupt instance you can switch the
default version and be back in business.


Robert






On Thu, Oct 14, 2010 at 10:22, cybertoast <cyberto...@gmail.com> wrote:
> This is a request for help from someone at google.
>
> Appid: fpgamesserver.appspot.com
> At 3.53pm on Oct 13 we had an error that said "cannot import name
> datastore_stub_util" due to the launch of a new process. It's not
> clear why a new process was launched since the previous requests were
> not CPU intensive. It's possible that this one request was, but I
> can't quite tell why. Every subsequent request to my application
> results in an error: 'NoneType' object has no attribute 'exception'.
> This error references a line main.py which says:
> logging.exception('Exception in request:')
> Requests to the site (fpgamesserver.appspot.com/heist) return this
> error:
> "Error: Server Error
> The server encountered an error and could not complete your request.
> If the problem persists, please report your problem and mention this
> error message and the query that caused it."
>
> The first error that seems to have been triggered by the launch of a
> new process is:
>
>      10-13 03:54PM 39.280 /heist/ 500 2722ms 1108cpu_ms 0kb Mozilla/
> 5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.10) Gecko/
> 20100914 Firefox/3.6.10,gzip(gfe)
>      See details
>
>      65.46.75.178 - - [13/Oct/2010:15:54:42 -0700] "GET /heist/ HTTP/
> 1.1" 500 0 - "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US;
> rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10,gzip(gfe)"
> "fpgamesserver.appspot.com" ms=2722 cpu_ms=1108 api_cpu_ms=0
> cpm_usd=0.030836 loading_request=1
>
>      D 10-13 03:54PM 41.340
>
>      FILTER_LIST: [{'PATH_INFO': '!.*/admin/.*'}]
>
>      D 10-13 03:54PM 41.341
>
>      Match on {'PATH_INFO': '!.*/admin/.*'}
>
>      I 10-13 03:54PM 41.537
>
>      Hook registered
>
>      I 10-13 03:54PM 41.538
>
>      DatastoreProxy initialized
>
>      E 10-13 03:54PM 41.912
>
>      Exception in request:
>      Traceback (most recent call last):
>        File "/base/python_runtime/python_lib/versions/third_party/
> django-0.96/django/core/handlers/base.py", line 68, in get_response
>          callback, callback_args, callback_kwargs =
> resolver.resolve(request.path)
>        File "/base/python_runtime/python_lib/versions/third_party/
> django-0.96/django/core/urlresolvers.py", line 162, in resolve
>          sub_match = pattern.resolve(new_path)
>        File "/base/python_runtime/python_lib/versions/third_party/
> django-0.96/django/core/urlresolvers.py", line 118, in resolve
>          return self.callback, args, kwargs
>        File "/base/python_runtime/python_lib/versions/third_party/
> django-0.96/django/core/urlresolvers.py", line 127, in _get_callback
>          raise ViewDoesNotExist, "Could not import %s. Error was: %s"
> % (mod_name, str(e))
>      ViewDoesNotExist: Could not import freshplanet.framework.views.
> Error was: cannot import name datastore_stub_util
>
>      E 10-13 03:54PM 41.993
>
>      <class 'django.core.exceptions.ViewDoesNotExist'>: Tried
> freshplanet.framework.views.get500. Error was: cannot import name
> datastore_stub_util
>      Traceback (most recent call last):
>        File "/base/data/home/apps/fpgamesserver/0-0-4-first-caper-
> online.345419715554941267/main.py", line 50, in <module>
>          main()
>        File "/base/data/home/apps/fpgamesserver/0-0-4-first-caper-
> online.345419715554941267/main.py", line 47, in main
>          util.run_wsgi_app(application)
>        File "/base/python_runtime/python_lib/versions/1/google/
> appengine/ext/webapp/util.py", line 97, in run_wsgi_app
>          run_bare_wsgi_app(add_wsgi_middleware(application))
>        File "/base/python_runtime/python_lib/versions/1/google/
> appengine/ext/webapp/util.py", line 115, in run_bare_wsgi_app
>          result = application(env, _start_response)
>        File "/base/python_runtime/python_lib/versions/third_party/
> django-0.96/django/core/handlers/wsgi.py", line 189, in __call__
>          response = self.get_response(request)
>        File "/base/python_runtime/python_lib/versions/third_party/
> django-0.96/django/core/handlers/base.py", line 125, in get_response
>          callback, param_dict = resolver.resolve500()
>        File "/base/python_runtime/python_lib/versions/third_party/
> django-0.96/django/core/urlresolvers.py", line 200, in resolve500
>          return self._resolve_special('500')
>        File "/base/python_runtime/python_lib/versions/third_party/
> django-0.96/django/core/urlresolvers.py", line 194, in
> _resolve_special
>          raise ViewDoesNotExist, "Tried %s. Error was: %s" %
> (callback, str(e))
>
>      I 10-13 03:54PM 42.000
>
>      This request caused a new process to be started for your
> application, and thus caused your application code to be loaded for
> the first time. This request may thus take longer and use more CPU
> than a typical request for your application.
>
> It's not clear why a new process was launched since the previous
> request was at 3.46pm and does not seem to be overloaded. But it's
> possible that the previous request to that, which took 1380cpu_ms
> triggered this process to launch?
>
> Also, why is this process corrupted and is there a way to recover it
> automatically or avoid this sort of outage? Is this something that I'm
> just not handling correctly? When a process gets corrupted like this
> what are the appropriate steps to correct - there's not really a
> facility to kill and restart the process except by re-deploying the
> same code. And there's no real way to get better information on what's
> going on on the process as far as I can tell.
>
> Any help would be appreciated.
>
> Thanks.
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Google App Engine" group.
> To post to this group, send email to google-appeng...@googlegroups.com.
> To unsubscribe from this group, send email to 
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/google-appengine?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appeng...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to