Created
February 29, 2020 01:18
-
-
Save SarathVakacharla/08a7fd20a231dbd92f3d4558524e2658 to your computer and use it in GitHub Desktop.
Multiple python processes logging to same file
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from multiprocessing import Process, Manager | |
import time | |
number_of_processes = 1000 | |
# Current time in milliseconds since epoch | |
def getCurrentTimeInMilliSeconds(): | |
return int(time.time() * 1000) | |
def produce(i): | |
print(f"Started producer number {i}") | |
while True: | |
time.sleep(0.1) | |
with open("test_multi.log", "a") as f: | |
f.write(f"{getCurrentTimeInMilliSeconds()}: Produced by {i}\n") | |
pass | |
if __name__ == '__main__': | |
print("MultiProducer log to same file") | |
process_manager = Manager() | |
producer_processes = [] | |
for i in range (1, number_of_processes): | |
producer_process = Process(target=produce, args=([i])) | |
producer_processes.append(producer_process) | |
producer_process.start() | |
for process in producer_processes: | |
process.join() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment