Starting to document the external-facing API
Renaming Queue to RedisQueue, because it is the underlying class, and we don't want external consumers to actually use it directly
Renaming Queue to RedisQueue, because it is the underlying class, and we don't want external consumers to actually use it directly
Starting to write the Client class, which is the entry point into the library
Adding Queue class wrapper around RedisQueue, to provide a high-level queue interface for third party consumers
Fixing how we interface with the UUID library (it returns UUID objects, not strings, which are what we want)
Adding factory function to client for creating Queue objects
Starting to add a Task object, for retrieving task data from Redis; adding another redis-specific abstraction, for getting at tasks
Explicitly checking that task's properties are not writeable (because it is meant to be a read-only view of a task)
Make task attributes default to None
Updating README to indicate that nodes don't have IDs, only listeners do. Starting initial listener implementation
Adding missing test file
Naive listener that only listens once
Fixing RedisQueue.dequeue to handle there not being anything in the queue.
Listener which listens for new tasks indefinitely
Updating the listener documentation based on new API, and documenting the Processor interface
Passing a new Processor object to the listener callback, instead of just the task ID
Adding Processor object for handling starting/completing/failing a process
Listen needs to just return one task, to make the multi-processing API simpler. Also, will just extract the task parameters separately, rather than trying to do that in the start() call, which is unnecessary (plus, some implementations may want to read the parameters to determine how to start the task)
Changing listener to only block until the first task is available, then return it