I'd like to add a task on the App Engine Task Queue, but only if it hasn't been enqueued before. How can I check whether its already in queue or not? Wasn't obvious from the task queue API, but maybe I missed it. They key to the task (param?) would be user_id. Use case: I keep checking for new messages every minute. This needs to happen very frequently. However, sometimes there are other jobs in this queue (they all need to be part of the same queue because they are using an external service, Gmail API, which has a rate limit of 10 qps, which I can only guarantee by rate limiting the queue). When these heavy processes run, they backlog the queue. To avoid this, I'd like to check whether a incremental-fetch task has previously been enqueued, and only enqueue if it hasn't. What is the best practice to achieve something like this?
How can I check whether I have already enqueued a task before?
147 views Asked by Debnath Sinha At
2
There are 2 answers
Related Questions in GOOGLE-APP-ENGINE
- Deployment through app engine, cloud sql database, problem connecting with server code, doesn't connect
- Jetty 12 idle timeout limited to 30 seconds when upgrading to Java 21 in Google App Engine Standard Environment
- Unable to deploy to GAE from Github Actions
- Migrating Google App Engine - Eclipse Java 8
- How to use Oauth in order to log‑in on .googleapis.com on almost any arbitrary endpoints domains from the web browser?
- Running gcloud app deploy and getting PERMISSION_DENIED 'compute.regions.get', despite having Owner and Compute admin permissions
- Spring security CORS configuration not working after deploying to App Engine
- Google App Engine: manual scaling with one instance suddenly created multiple instances
- gcloud.app.deploy Error Response: [13] Failed to create cloud build: invalid bucket
- gcloud.app.deploy Error Response: [13] default Cloud Build service account or user-specified service account does not have access to the bucket
- GCP Java dev_appserver Can't make API call memcache.Get in a thread that is neither the original request thread nor a thread created by ThreadManager
- How to correlate and aggregate logs in Google App Engine Python 3?
- App Engine Python3 db / ndb & eventual consistency
- How do I connect to Google Cloud mySQL from App Engine using Django-Environ?
- How to deploy my fast api with llama 2 on app engine
Related Questions in MESSAGE-QUEUE
- What's the right ZMQ architecture for my scenario?
- How to Extract Queue Name, Priority, and Message ID from RabbitMQ Inbound Endpoint Messages in WSO2 MI 4.2?
- Is there any example or design of a queue system in microservices?
- tkinter: search widget by name in an efficient way
- How do I maintain the same internal host on RabbitMQ?
- How to use consistent hashing across publishers, queues, and consumers
- How can I monitor/locate specific communications between programs on WIN10?
- Celery manually decoding message body in python
- How to read more than 32 message from Azure storage Queue
- How many senders and receivers of a notification are possible in a POSIX message queue
- Make sure BullMQ queue pushes data to single node in redis cluster
- Problem with AMQP-CPP and libuv - TCP Channel is not ready
- The switch of keyboard layout on Windows: synchronization with the multistage-processing of character input
- Queuing mechanism per account
- Is there a way to define a RabbitMQ consumer that keeps listening for a queue without blocking the program?
Related Questions in TASK-QUEUE
- How to Prioritize Celery Tasks When Processing Large Numbers of Files to Prevent Long User Wait Times?
- Why does 1 is printed before 4 in this execution of js code?
- FreeRTOS: Simple Queue program, values of Queue are not being printed on Serial Monitor
- Can 2 different task queues use the same taskoption url param value?
- Task Queue with cached libraries in Django
- Celery Alternatives based on DAG
- Kubernetes: Infinite Workload Using One Pod Per Task
- Where does the concept of macrotasks come from in the browser?
- Is execution of main thread javascript code a macro-task?
- Creating a queue using two stack, but make enqueuing O(1)
- How can I get the worker queues for the logged in agent on Twilio Flex
- Distributed System: ML Queue
- Celery Tasks not Running on Mac M2 (Process 'ForkPoolWorker' exited with 'signal 11 (SIGSEGV)')
- What is an efficient design for a Python celery task within a chain that is used to wait for a external condition?
- How do big companies like github queue their emails
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
I would add a tag to the task then do a lease_task_by_tag with a lease_seconds set to 0. If its empty then I can safely create a new one.