1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- from huey.api import Huey
- from huey.constants import EmptyData
- from huey.storage import BaseStorage
- from simpledb import Client
- class SimpleStorage(BaseStorage):
- def __init__(self, name='huey', host='127.0.0.1', port=31337,
- **storage_kwargs):
- super(SimpleStorage, self).__init__(name=name, **storage_kwargs)
- self.client = Client(host=host, port=port)
- def enqueue(self, data):
- self.client.lpush(self.name, data)
- def dequeue(self):
- return self.client.rpop(self.name)
- def unqueue(self, data):
- return self.client.lrem(self.name)
- def queue_size(self):
- return self.client.llen(self.name)
- def flush_queue(self):
- return self.client.lflush(self.name)
- def flush_all(self):
- return self.client.flushall()
- def add_to_schedule(self, data, ts):
- return self.client.add(str(ts), data)
- def read_schedule(self, ts):
- return self.client.read(str(ts))
- def schedule_size(self):
- return self.client.length_schedule()
- def flush_schedule(self):
- return self.client.flush_schedule()
- def put_data(self, key, value):
- return self.client.set(key, value)
- def peek_data(self, key):
- return self.client.get(key)
- def pop_data(self, key):
- return self.client.pop(key)
- def has_data_for_key(self, key):
- return self.client.exists(key)
- def put_if_empty(self, key, value):
- return self.client.setnx(key, value)
- def result_store_size(self, key, value):
- return self.client.length()
- def flush_results(self):
- return self.client.flush()
- class SimpleHuey(Huey):
- def get_storage(self, **params):
- return SimpleStorage(self.name, **params)
|