-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_processes.py
More file actions
33 lines (24 loc) · 807 Bytes
/
test_processes.py
File metadata and controls
33 lines (24 loc) · 807 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
from random import random
from time import sleep
# multiprocessing
from multiprocessing import Process, Lock
from dlog import *
def bar(lock, process_id):
filename = f'./test_data/demo.log'
l(f"Process {process_id} started ! Logger id: {l.logger_uid}.",
color = [RED, GRN, BLU][process_id%3], lock=lock, filename=filename)
sleep(0.4)
l(f"Process {process_id} done !", color = [RED, GRN, BLU][process_id%3],
lock=lock, filename=filename)
lock = Lock()
l = Logger(prepend_logger_uid_to_filename=True)
if __name__ == "__main__":
processes = [Process(target=bar, args=(lock, i, )) for i in range(10)]
for p in processes:
p.start()
for i in range(15):
print(i)
sleep(0.01)
for p in processes:
p.join()
print(l.log_count)