Celery Task for Random Number Generation

  • Share this:

Code introduction


This code defines a Celery task that accepts a name and age as parameters, generates a random number, and sends a message back to the caller.


Technology Stack : Celery, RabbitMQ, Python's random module

Code Type : Celery task

Code Difficulty : Intermediate


                
                    
def random_task(name, age):
    from celery import Celery
    from celery.utils.log import get_task_logger
    from random import randint

    app = Celery('tasks', broker='pyamqp://guest@localhost//')
    logger = get_task_logger(__name__)

    def generate_random_number():
        return randint(1, 100)

    @app.task
    def task_name():
        logger.info(f"Processing task for {name} with age {age}")
        random_number = generate_random_number()
        return f"Hello {name}, your random number is {random_number}"

    return task_name.delay()