import os
import redis
from rq import Worker, Queue

HIGH_QUEUE   = 'high'
MEDIUM_QUEUE = 'medium'
LOW_QUEUE    = 'low'

listen = [HIGH_QUEUE, MEDIUM_QUEUE, LOW_QUEUE]

redis_url = os.getenv('REDISTOGO_URL', 'redis://localhost:6379')

conn = redis.from_url(redis_url, socket_timeout=1, socket_connect_timeout=1)

# Export conn and queue names for other modules
__all__ = ['conn', 'Worker', 'Queue', 'HIGH_QUEUE', 'MEDIUM_QUEUE', 'LOW_QUEUE']

if __name__ == '__main__':
    queues = [Queue(name, connection=conn) for name in listen]
    worker = Worker(queues, connection=conn)
    worker.work()
