Files
bg/README.md

679 B

Bg

Implement a class to run a simple job "in the background", in parallel, and have the result waiting when the job is done.

Example:

from bg import Bg

## From a docker hub api bit of code.

def get_all(url):
    "Retrieve all paged results"
    rsp = urllib.request.urlopen(url)
    while 200 <= int(rsp.getcode()) < 300:
        data = json.loads(rsp.read())
        url = data.get("next")
        next = Bg(urllib.request.urlopen, url) if url else None
        for item in data['results']:
            yield item
        if next is None:
            break
        # If the result is not ready yet, wait for it.
        rsp = next.wait()
    print("Done")