Deferred, DeadLineException

14 views
Skip to first unread message

Julio Heras Jiménez

unread,
Apr 7, 2012, 2:31:05 PM4/7/12
to google-a...@googlegroups.com
#######################
Here the code:

class wpAnalysisProcess( webapp.RequestHandler ):
    _user_email = None
    _domain = None
    _results = {}

    def _query( self ):
        _query  = dbmodels.dbPlugin.all()
        _query.order( '__key__' )
        return _query

    def _plugin_request( self , _file ):
       pass

    def _requests( self , _plugin ):
       pass

    def _run( self , _user_email , _domain , _batch_size = 25 ):
        if _domain:
            self._user_email = _user_email
            self._domain = _domain
            memcache.add( hashlib.sha512( 'analysis: ' + _domain ).hexdigest() , True )
            self._continue( None , _batch_size )

    def _continue( self , _start_key , _batch_size ):
        _query = self._query()
        if _start_key:
            _query.filter( "__key__ >" , _start_key )
        try:
            for _counter , _plugin in enumerate( _query.fetch( limit = _batch_size ) ):
                self._requests( _plugin )
                if not _counter % _batch_size:
                    _start_key = _plugin.key()
                    deferred.defer( self._continue , _start_key , _batch_size )
            if not _query.fetch( limit = _batch_size ):
                self._finish()
        except DeadlineExceededError:
            deferred.defer( self._continue , _start_key , _batch_size)
            return


##############################
#########################################

Here the response error during the process:


<class 'google.appengine.runtime.DeadlineExceededError'>: 
Traceback (most recent call last):
  File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/deferred/handler.py", line 43, in <module>
    main()
  File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/deferred/handler.py", line 39, in main
    run_wsgi_app(deferred.application)
  File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/util.py", line 98, 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 116, in run_bare_wsgi_app
    result = application(env, _start_response)
  File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/_webapp25.py", line 703, in __call__
    handler.post(*groups)
  File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/deferred/deferred.py", line 298, in post
    self.run_from_request()
  File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/deferred/deferred.py", line 293, in run_from_request
    run(self.request.body)
  File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/deferred/deferred.py", line 135, in run
    return func(*args, **kwds)
  File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/deferred/deferred.py", line 178, in invoke_member
    return getattr(obj, membername)(*args, **kwargs)
  File "/base/data/home/apps/s~85ab7352b6457419fcc7f6ed510ab0/1.358044484305627163/wpDeferred.py", line 116, in _continue
    deferred.defer( self._continue , _start_key , _batch_size )
  File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/deferred/deferred.py", line 254, in defer
    pickled = serialize(obj, *args, **kwargs)
  File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/deferred/deferred.py", line 224, in serialize
    curried = _curry_callable(obj, *args, **kwargs)
  File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/deferred/deferred.py", line 198, in _curry_callable
    return (invoke_member, (obj.im_self, obj.im_func.__name__) + args, kwargs)


################################################


I can not know the reason for the error, does anyone could help me?


Thanks
Reply all
Reply to author
Forward
0 new messages