Skip to main content

A distributed queue library layered over kombu

Project description

QueueUp - A simple and easy queue interface for all of your needs

QueueUp -- Is an entirely integrated queue interface over kombu to completely include all settings inside of a single object.

The reason we use kombu and AMQP as a whole is to allow for complex objects and delivery guaruntees we normally wouldn't get with much newer platforms.

Differences from QueueUp and Queue

You'd use the QueueUp library in the exact way you'd use the queue.Queue library. Let's look at the difference.

An example for python's queue

import time
import random
import threading
from queue import Queue


# We're starting two threading daemons, 
# 1. one that pushes information into a queue, 
# 2. the other that reads information from the queue then publishes it



def queue_pusher(q):
    while True:
        q.put(random.randint(0, 1000))
        time.sleep(0.05)


def queue_reciever(q):
    while True:
        qitem = q.get(block=True)
        print(f"Printing {item}")
        time.sleep(0.05)

if __name__ == "__main__":
    common_queue = Queue()
    threading.Thread(target=queue_pusher, daemon=True, args=(common_queue,)).start()
    threading.Thread(target=queue_reciever, daemon=True, args=(common_queue,)).start()

    # Now the two queues will communicate with each other.

    while True:
        time.sleep(5)

An example for QueueUp

import time
import random
import threading
from queueup import Queue


# We're starting two threading daemons, 
# 1. one that pushes information into a queue, 
# 2. the other that reads information from the queue then publishes it



def queue_pusher(q):
    while True:
        q.put(random.randint(0, 1000))
        time.sleep(0.05)


def queue_reciever(q):
    while True:
        qitem = q.get(block=True)
        print(f"Printing {item}")
        time.sleep(0.05)

if __name__ == "__main__":
    common_queue = Queue() # w/o parameters it returns a multiprocessing.Queue()
    threading.Thread(target=queue_pusher, daemon=True, args=(common_queue,)).start()
    threading.Thread(target=queue_reciever, daemon=True, args=(common_queue,)).start()

    # Now the two queues will communicate with each other.

    while True:
        time.sleep(5)

Project details


Release history Release notifications | RSS feed

This version

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

queueup-0.1.tar.gz (3.2 kB view hashes)

Uploaded Source

Built Distribution

queueup-0.1-py3-none-any.whl (2.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page