Nick, Your edge case definitely confused at least 2 of us. I imagine that people will often be testing their queues on a low volume queue initially. You might want to put something in the documentation, or at least the code.
j On Dec 16, 4:59 pm, Nicholas Verne <nve...@google.com> wrote: > Vlad, > > Your case is a bit of an edge case for us. At the time your task is > dispatched, do you have any other tasks still in the queue scheduled > to execute within the next twenty seconds? If not, your queue is > considered empty and will next be checked for tasks to dispatch in > twenty seconds time. If, during this interval, your task that was > running now fails, the task's retry won't be able to run until after > this twenty seconds has elapsed. > > If there were other tasks in the queue scheduled to execute during the > twenty seconds after your task's eta, you might find your task meeting > its 7 second retry backoff more precisely. > > Nick Verne > > > > On Thu, Dec 16, 2010 at 2:58 PM, vlad <vlad.troyan...@gmail.com> wrote: > > Hi Nick, > > > Task schedule delays (best effort) are expected but this is not the case. > > Take a look at the log excerpt below which shows a task with 6 reties. > > Retries are perfectly timed on flat 20sec back off schedule. In other words > > I have never seen task reties follow what I put in my queue.yaml. Instead > > they *always* do 20 sec backoff. > > Another fact that might help is this has not changed at all with SDK 1.4.0 > > release. This picture was exactly the same before the release. > > > My queue.yaml > > > queue: > > - name: default > > rate: 20/s > > bucket_size: 100 > > retry_parameters: > > task_age_limit: 120s > > min_backoff_seconds: 1 > > max_backoff_seconds: 7 > > > 12-14 11:56PM 14.864 /_ah/queue/deferred 500 71ms 63cpu_ms 16api_cpu_ms 0kb > > AppEngine-Google; (+http://code.google.com/appengine) > > > See details > > > 0.1.0.2 - - [14/Dec/2010:23:56:14 -0800] "POST /_ah/queue/deferred HTTP/1.1" > > 500 124 "http://ace-poker.appspot.com/_ah/queue/deferred" "AppEngine-Google; > > (+http://code.google.com/appengine)" "ace-poker.appspot.com" ms=71 cpu_ms=63 > > api_cpu_ms=17 cpm_usd=0.001856 queue_name=default > > task_name=9640193529655285671 > > > I 12-14 11:56PM 14.867 X-Appengine-Taskretrycount:6, > > X-Appengine-Queuename:default, X-Appengine-Taskname:9640193529655285671, > > X-Appengine-Current-Namespace: > > > I 12-14 11:56PM 14.868 running task: {'player': > > 'aglhY2UtcG9rZXJyDgsSBlBsYXllchj8szUM', 'action': 'force-fold', 'who': > > 'dealer', 'type': 'action', 'hand-snapshot': u'flop-50 > > > I 12-14 11:56PM 14.921 > > Hand=aglhY2UtcG9rZXJyGQsSBVRhYmxlGPODOAwLEgRIYW5kGJ-SFAw, state=playing, > > table=Medes (aglhY2UtcG9rZXJyDQsSBVRhYmxlGPODOAw) > > > I 12-14 11:56PM 14.921 pre-action-dealer (force-fold) > > > 12-14 11:56PM 14.864 /_ah/queue/deferred 500 71ms 63cpu_ms 16api_cpu_ms 0kb > > AppEngine-Google; (+http://code.google.com/appengine) > > > See details > > > 0.1.0.2 - - [14/Dec/2010:23:56:14 -0800] "POST /_ah/queue/deferred HTTP/1.1" > > 500 124 "http://ace-poker.appspot.com/_ah/queue/deferred" "AppEngine-Google; > > (+http://code.google.com/appengine)" "ace-poker.appspot.com" ms=71 cpu_ms=63 > > api_cpu_ms=17 cpm_usd=0.001856 queue_name=default > > task_name=9640193529655285671 > > > I 12-14 11:56PM 14.867 > > > X-Appengine-Taskretrycount:6, X-Appengine-Queuename:default, > > X-Appengine-Taskname:9640193529655285671, X-Appengine-Current-Namespace: > > > I 12-14 11:56PM 14.868 > > > running task: {'player': 'aglhY2UtcG9rZXJyDgsSBlBsYXllchj8szUM', 'action': > > 'force-fold', 'who': 'dealer', 'type': 'action', 'hand-snapshot': > > u'flop-50-chj8szUM', 'hand': > > 'aglhY2UtcG9rZXJyGQsSBVRhYmxlGPODOAwLEgRIYW5kGJ-SFAw'} > > > I 12-14 11:56PM 14.921 > > > Hand=aglhY2UtcG9rZXJyGQsSBVRhYmxlGPODOAwLEgRIYW5kGJ-SFAw, state=playing, > > table=Medes (aglhY2UtcG9rZXJyDQsSBVRhYmxlGPODOAw) > > > I 12-14 11:56PM 14.921 > > > pre-action-dealer (force-fold) > > > I 12-14 11:56PM 14.921 > > > pre-action: (force-fold) pot=50 round=flop board=[u'Td', u'Ac', u'Ad'] > > current_bet=0 next_to_act=0 > > players: > > aglhY2UtcG9rZXJyDgsSBlBsYXllchj8szUM: bet=0 total=10 acted=False > > in-game=True > > aglhY2UtcG9rZXJyDgsSBlBsYXllchispDUM: bet=0 total=10 acted=False > > in-game=True > > > I 12-14 11:56PM 14.928 > > > notify-multi: ['hjygzgM-33', 'hixwjgM-33', 'hiZyjgM-33', 'hiLhTUM-33', > > 'hispDUM-33', 'hj8szUM-33', 'bserver-33'] > > > I 12-14 11:56PM 14.928 > > > {'pot': 50L, 'who': 'dealer', 'hand': > > 'aglhY2UtcG9rZXJyGQsSBVRhYmxlGPODOAwLEgRIYW5kGJ-SFAw', 'player': > > 'aglhY2UtcG9rZXJyDgsSBlBsYXllchj8szUM', 'action': 'force-fold', 'type': > > 'action', 'stack': 1685L, 'hand-snapshot': u'flop-50-chj8szUM'} > > > D 12-14 11:56PM 14.928 > > > hand action: {'pot': 50L, 'who': 'dealer', 'hand': > > datastore_types.Key.from_path(u'Table', 918003L, u'Hand', 330015L, > > _app=u'ace-poker'), 'player': datastore_types.Key.from_path(u'Player', > > 875004L, _app=u'ace-poker'), 'action': 'force-fold', 'type': 'action', > > 'stack': 1685L, 'hand-snapshot': 'flop-50-chj8szUM'} > > > I 12-14 11:56PM 14.928 > > > hand = aglhY2UtcG9rZXJyGQsSBVRhYmxlGPODOAwLEgRIYW5kGJ-SFAw, betting > > finished, round = flop > > > I 12-14 11:56PM 14.929 > > > showdown among 4 players > > > E 12-14 11:56PM 14.931 > > > datastore_types.Key.from_path(u'Player', 926001L, _app=u'ace-poker') > > Traceback (most recent call last): > > File > > "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/__i > > nit__.py", > > line 517, in __call__ > > handler.post(*groups) > > File > > "/base/python_runtime/python_lib/versions/1/google/appengine/ext/deferred/d > > eferred.py", > > line 258, in post > > run(self.request.body) > > File > > "/base/python_runtime/python_lib/versions/1/google/appengine/ext/deferred/d > > eferred.py", > > line 124, in run > > return func(*args, **kwds) > > File > > "/base/data/home/apps/ace-poker/1-04-alpha.346925832780397423/engine.py", > > line 681, in dispatch_task > > execute_request(req) > > File > > "/base/data/home/apps/ace-poker/1-04-alpha.346925832780397423/engine.py", > > line 707, in execute_request > > rsp = HandEngine().execute(msg) > > File > > "/base/data/home/apps/ace-poker/1-04-alpha.346925832780397423/engine.py", > > line 301, in execute > > rsp = self.dealer_action_transactional( act) > > File > > "/base/data/home/apps/ace-poker/1-04-alpha.346925832780397423/engine.py", > > line 336, in dealer_action_transactional > > return db.run_in_transaction(_txn) > > File > > "/base/python_runtime/python_lib/versions/1/google/appengine/api/datastore. > > py", > > line 1981, in RunInTransaction > > DEFAULT_TRANSACTION_RETRIES, function, *args, **kwargs) > > File > > "/base/python_runtime/python_lib/versions/1/google/appengine/api/datastore. > > py", > > line 2067, in RunInTransactionCustomRetries > > ok, result = _DoOneTry(new_connection, function, args, kwargs) > > File > > "/base/python_runtime/python_lib/versions/1/google/appengine/api/datastore. > > py", > > line 2088, in _DoOneTry > > result = function(*args, **kwargs) > > File > > "/base/data/home/apps/ace-poker/1-04-alpha.346925832780397423/engine.py", > > line 332, in _txn > > rsp = self.action_dealer(action['action'], action) > > File > > "/base/data/home/apps/ace-poker/1-04-alpha.346925832780397423/engine.py", > > line 423, in action_dealer > > act_rsp = self.action(req['player'], req) > > File > > "/base/data/home/apps/ace-poker/1-04-alpha.346925832780397423/engine.py", > > line 460, in action > > self.showdown() > > File > > "/base/data/home/apps/ace-poker/1-04-alpha.346925832780397423/engine.py", > > line 594, in showdown > > self._showdown(pot.players, pot.pot) > > File > > "/base/data/home/apps/ace-poker/1-04-alpha.346925832780397423/engine.py", > > line 607, in _showdown > > winning_hand = card.PokerHand(ha.pd[winner].cards + ha.board) > > KeyError: datastore_types.Key.from_path(u'Player', 926001L, > > _app=u'ace-poker') > > > 12-14 11:55PM 54.860 /_ah/queue/deferred 500 49ms 40cpu_ms 16api_cpu_ms 0kb > > AppEngine-Google; (+http://code.google.com/appengine) > > > See details > > > 0.1.0.2 - - [14/Dec/2010:23:55:54 -0800] "POST /_ah/queue/deferred HTTP/1.1" > > 500 124 "http://ace-poker.appspot.com/_ah/queue/deferred" "AppEngine-Google; > > (+http://code.google.com/appengine)" "ace-poker.appspot.com" ms=49 cpu_ms=40 > > api_cpu_ms=17 cpm_usd=0.001208 queue_name=default > > task_name=9640193529655285671 > > > I 12-14 11:55PM 54.863 X-Appengine-Taskretrycount:5, > > X-Appengine-Queuename:default, X-Appengine-Taskname:9640193529655285671, > > X-Appengine-Current-Namespace: > > > I 12-14 11:55PM 54.863 running task: {'player': > > 'aglhY2UtcG9rZXJyDgsSBlBsYXllchj8szUM', 'action': 'force-fold', 'who': > > 'dealer', 'type': 'action', 'hand-snapshot': u'flop-50 > > > I 12-14 11:55PM 54.894 > > Hand=aglhY2UtcG9rZXJyGQsSBVRhYmxlGPODOAwLEgRIYW5kGJ-SFAw, state=playing, > > table=Medes (aglhY2UtcG9rZXJyDQsSBVRhYmxlGPODOAw) > > > I 12-14 11:55PM 54.894 pre-action-dealer (force-fold) > > > 12-14 11:55PM 34.847 /_ah/queue/deferred 500 50ms 86cpu_ms 16api_cpu_ms 0kb > > AppEngine-Google; (+http://code.google.com/appengine) > > > See details > > > 0.1.0.2 - - [14/Dec/2010:23:55:34 -0800] "POST /_ah/queue/deferred HTTP/1.1" > > 500 124 "http://ace-poker.appspot.com/_ah/queue/deferred" "AppEngine-Google; > > (+http://code.google.com/appengine)" "ace-poker.appspot.com" ms=51 cpu_ms=87 > > api_cpu_ms=17 cpm_usd=0.002504 queue_name=default > > task_name=9640193529655285671 > > > I 12-14 11:55PM 34.850 X-Appengine-Taskretrycount:4, > > X-Appengine-Queuename:default, X-Appengine-Taskname:9640193529655285671, > > X-Appengine-Current-Namespace: > > > I 12-14 11:55PM 34.850 running task: {'player': > > 'aglhY2UtcG9rZXJyDgsSBlBsYXllchj8szUM', 'action': 'force-fold', 'who': > > 'dealer', 'type': 'action', 'hand-snapshot': u'flop-50 > > > I 12-14 11:55PM 34.882 > > Hand=aglhY2UtcG9rZXJyGQsSBVRhYmxlGPODOAwLEgRIYW5kGJ-SFAw, state=playing, > > table=Medes (aglhY2UtcG9rZXJyDQsSBVRhYmxlGPODOAw) > > > E 12-14 11:55PM 34.893 datastore_types.Key.from_path(u'Player', 926001L, > > _app=u'ace-poker') Traceback (most recent call last): File > > "/base/python_runtime/python_lib/versio > > > 12-14 11:55PM 14.841 /_ah/queue/deferred 500 50ms 63cpu_ms 16api_cpu_ms 0kb > > AppEngine-Google; (+http://code.google.com/appengine) > > > See details > > > 0.1.0.2 - - [14/Dec/2010:23:55:14 -0800] "POST /_ah/queue/deferred HTTP/1.1" > > 500 124 "http://ace-poker.appspot.com/_ah/queue/deferred" "AppEngine-Google; > > (+http://code.google.com/appengine)" > > ... > > read more » -- 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.