Robert
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/google-appengine/-/x6RZezOEFz4J.
> To post to this group, send email to google-a...@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengi...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
How often are you calling BulkAdd per minute?
--
Johan Euphrosine (proppy)
Developer Programs Engineer
Google Developer Relations
Are you adding 3000 tasks one at a time or in batch inserts? And
are you saying that each entity produces 10 to 3000 tasks or that
there will be between 10 and 3000 tasks in total?
If you're inserting very large numbers of tasks rapidly, what
happens if you throttle that back a little?
Robert
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/google-appengine/-/bLzs-j5838AJ.
Doesn't the Token bucket?
Also there is a max QueSize in MB you can specify in the YAML. I don't know
what the limit is.
My rough understanding was that
Token Rate was how many task/s you could add.
Process rate was how fast tasks would be processed.
Queue Size was number of tasks that could be pending.
Time Out was the time to expire
If your token rate is 5 per S
And your process is 2 per
And your Queue size is 5000
And your time out is 75 minutes
If 18 people wanted to make 10 new tasks in 3 seconds. The Token bucket
would empty and only 15 tasks would be created.
If 500 people an hour wanted to create 20 tasks each (10000 tasks, 3600
seconds) yields 2.78 Tasks/s the Token bucket would not go dry. The Process
bucket would spin up instances enough to process the tasks, and it would try
to space them out such that it would take 5000 seconds
But you would lose some of those task because the Task Queue would not have
only processed all of the tasks before it hit the 5000 task limit (7200-ish
would complete)
And because you are limiting tasks to 75 minutes, but it would take 1 hour
23 minutes to process the task a portion would get dropped.
Tasks will basically be run as fast as your settings allow. There
are three main settings: rate, bucket_size, and
max_concurrent_requests. The bucket size controls the "token bucket"
behavior. Rate controls the frequency at which tasks may be selected
from the queue. The concurrent request limit gives you more fine
grained control of a queue (handy with the new pricing).
The only limit to how many tasks you can have, that I'm aware of, is
the stored task count/bytes quotas, and possibly the api calls quota.
Tasks shouldn't ever be lost. If an app is actually losing tasks
that is a bug in either the app's code or app engine's.
I'm not sure what timeout you're referring too. You can specify a
delay before a task will be run (eta or countdown params), and for
pull queues a lease durration.
Robert
> --
> You received this message because you are subscribed to the Google Groups "Google App Engine" group.
I have only ever tweaked the rate tasks are processed.