How to make delay tasks using Zappa with Django?

74 views Asked by At

I am new to Zappa and I have usually used Django with celery in a server. I know that with Zappa I can schedule tasks with a rate, but how can I just execute a task delayed by a desired amount of time that does not have to be periodic?

For example, give the user a finite time to buy a product, or to write a review, or to choose spots in a theater...

I am also using AWS

What I have read is to create a periodic event that executes every minute to check if the desired time have passed and then do the task, but I think that would be overkilling and I would prefer an event driven solution. I simply dont know if that is possible

Another option was to create an SQS queue as this:

       "events": [
           {
               "function": "your_module.process_messages",
               "event_source": {
                    "arn":  "arn:aws:sqs:us-east-1:12341234:your-queue-name-arn",
                    "batch_size": 10, // Max: 10. Use 1 to trigger immediate processing
                    "enabled": true // Default is false
               }
           }
       ]

But I dont know how to put arguments, and just call one task I need without having one queue per function.

Thanks and sorry if this is a fool question!!!

0

There are 0 answers