Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save norbertparti/483138aefb2169e88e03557b32a43167 to your computer and use it in GitHub Desktop.
Save norbertparti/483138aefb2169e88e03557b32a43167 to your computer and use it in GitHub Desktop.
Python concurrrent push to redis queue.py
import time
from random import random
import json
import eventlet
eventlet.monkey_patch(thread=True)
import redis
r = redis.StrictRedis(host='localhost', port=6379, db=0)
queue_key = 'queue'
def push_request():
for k in range(1000):
yield random()
def push(val):
for i in range(10):
_json = json.dumps({'key': i, 'val': i* val})
r.rpush(queue_key, _json) # loop here for multiple request sequentially
return val
start = time.time()
pool = eventlet.GreenPool()
for value in pool.imap(push, push_request()):
print("inserted", value)
print(f'10000 request time {time.time() - start}')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment