Thanks for that feedback Jordan, that's potentially really useful.
So maybe you are proposing that something like this is happening:
- I enqueue a massive amount of tasks very quickly (and those tasks enqueue more tasks etc).
- Inevitably, there is less capacity available (instances) than necessary. So some tasks get *individually* delayed (they fail to be handled, and go into exponential backoff).
- AppEngine keeps spinning up instances until the contention goes away
- But, some tasks may have failed to be scheduled enough times in the interim that they now appear "stuck" for a little while. What's actually going on is that they've been "backed off", and have a timestamp in the future when they will try to run.
So, it'll look like some tasks are getting stuck.
Is that right?
Further, and crucially to me, is this invisible via the console? ie: would these tasks be sitting there and not running, but I can't see any evidence of why? I'm asking this because this isn't, for instance, affecting the task's ETA (it might say something like "8 mins ago").