28 lines
679 B
Markdown
28 lines
679 B
Markdown
# 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:
|
|
|
|
```python
|
|
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")
|
|
```
|
|
|
|
|