Celery would be perfect for this.
Since what you are doing is relatively simple (read: you donβt need complicated rules about how tasks should be redirected), you could probably leave using the Redis backend, which means you donβt need to configure / configure RabbitMQ (which in my experience is more complicated).
I am using Redis with the largest Celery construct, and here are the relevant bits of my configuration:
# Use redis as a queue
BROKER_BACKEND = "kombu.transport.pyredis.Transport"
BROKER_HOST = "localhost"
BROKER_PORT = 6379
BROKER_VHOST = "0"
# Store results in redis
CELERY_RESULT_BACKEND = "redis"
REDIS_HOST = "localhost"
REDIS_PORT = 6379
REDIS_DB = "0"
I also use django-celery , which makes integration with Django happy.
Comment if you need more specific advice.
David wolever
source share