Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Python process safe queue usage example and logging from multiple processes
from multiprocessing import Process, Queue
from time import sleep
def func(q, cnt, log):
for i in range(0, cnt):
item = q.get()
message = "Got an item %s\n" % item
log.put(message)
if __name__ == '__main__':
cnt = 10
q = Queue()
log = Queue()
p1 = Process(target=func, args=(q, cnt, log))
p1.start()
for i in range(0, cnt):
sleep(0.1)
item = "item #%s" % i;
q.put(item)
message = "Put and item %s\n" % item
log.put(message)
p1.join()
with open("log.txt", "w") as file:
while not log.empty():
record = log.get()
file.write(record)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment