darkmedia-x-api / engine /test_mp.py
cybermedia's picture
Upload folder using huggingface_hub
343eed9 verified
import multiprocessing
import os
import time
def worker(result_queue):
print(f"Child process pid {os.getpid()} starting...")
try:
result_queue.put(f"Success from pid {os.getpid()}")
except Exception as e:
result_queue.put(f"Error: {e}")
if __name__ == "__main__":
# Explicitly use 'spawn' as it is the default on Windows
# and what's causing the issue with nested functions.
multiprocessing.set_start_method('spawn', force=True)
q = multiprocessing.Queue()
p = multiprocessing.Process(target=worker, args=(q,))
print(f"Parent process pid {os.getpid()} starting child...")
p.start()
p.join(timeout=10)
if p.is_alive():
print("Process timed out!")
p.terminate()
p.join()
elif not q.empty():
print(f"Result: {q.get()}")
else:
print("No result in queue after process finished")
q.close()
try:
q.join_thread()
except: pass
print("Test finished.")