Thanks Jason/George,
My code does a job very similar to
lock.py (this is what I am trying to avoid).
So it looks like the secret is around task queues. Can I assume that enqueued tasks will be delivered just once (if my endpoint returns 200 OK)?
If yes then my problem is solved. But if it behaves similar to pubsub which guarantees "At-Least-Once Delivery" then it will be useless for my case.
BTW: If those named tasks are hitting datastore for deduplication then lock.py's approach is still valid and its performance will be as good as named tasks.
Thanks