D
Dara Durum
Hi !
I want to create a Process Pool Object.
I can hold started processes, and can communicate with them.
I tryed with many ipc methods, but every of them have bug or other problem.
Sockets are unavailabe (because Windows Firewall hold them).
I think I will use pipe.
The object's pseudocode:
while not Quit:
CheckProcessOutputs;
ProcessReceivedData;
SendDataToSubProcesses;
if NoMoreData: Quit=1
If I used pipes and subprocess module in Windows, I got big freezes,
and deadlocks.
Main proc:
subprocpipe.write('aaaa\n')
subprocpipe.readlines()
Sub proc:
input=sys.stdin.readlines().strip()
print input+'!!!'
It is working. But when I move this client code to cycle, I got deadlock.
while not Quit:
input=sys.stdin.readlines().strip()
print input+'!!!'
Quit=input=='q'
Why ? Why I cannot create cyclic communication with client ?
Subprocess must "staying alive" (don't die), and need to stay in
reuseable state ?
Simply: subprocess pool needed !!!
Thanks for help:
dd
I want to create a Process Pool Object.
I can hold started processes, and can communicate with them.
I tryed with many ipc methods, but every of them have bug or other problem.
Sockets are unavailabe (because Windows Firewall hold them).
I think I will use pipe.
The object's pseudocode:
while not Quit:
CheckProcessOutputs;
ProcessReceivedData;
SendDataToSubProcesses;
if NoMoreData: Quit=1
If I used pipes and subprocess module in Windows, I got big freezes,
and deadlocks.
Main proc:
subprocpipe.write('aaaa\n')
subprocpipe.readlines()
Sub proc:
input=sys.stdin.readlines().strip()
print input+'!!!'
It is working. But when I move this client code to cycle, I got deadlock.
while not Quit:
input=sys.stdin.readlines().strip()
print input+'!!!'
Quit=input=='q'
Why ? Why I cannot create cyclic communication with client ?
Subprocess must "staying alive" (don't die), and need to stay in
reuseable state ?
Simply: subprocess pool needed !!!
Thanks for help:
dd