|
Project Information
Links
|
JoQ aims to be a simple, fast, and efficient message broker. It is optimized for the simple case of managing a series of priority queues. Queues are distinguished via tags (strings). Additionally, JoQ maintains an "untagged" queue for jobs sent without any identifier for their target queue. A job may be a member of multiple queues (by having multiple tags). Jobs are obtained from JoQ by sending JoQ a list of queues from which the next job should be selected. JoQ will assemble a new priority queue from the selected tags and return the highest priority item. Deleting an item from one queue deletes it from all other queues to which it was assigned when it was sent to JoQ. This is done efficiently using a combination of fast-merging skew heaps and the Java Observer/Observable event-handlers. Implementation details aside, the goal of this is to create a simple, fast, networked job queue supporting any number of completely unrelated producers and consumers. To do:
Wish list:
|