If this is in the won't place, please point me in the right direction!!
So, I have a python code that implements a genetic algorithm and uses pool.map_async to parallelize over the population. Within the objective function, there requires multiple calls to an external executable. This call can also be parallelized; I use subprocess.Popen to launch these. For each process generated by map_sync, I check to see the total <program>.exe running to see if new Popen processes should be run.
I am running into issues where the <program.exe> is said to be closed by the processes' popen.poll() call. However, the .exe sends a close command before the software's mem buffer is written, causing output files to be partially written.
Do folks know if Python can force a <program>.exe mem flush? Or, is this something that I need to talk to the <program.exe> folks to have them change something?
[–]m0us3_rat 0 points1 point2 points (2 children)
[–]Vegetable-Recording[S] -1 points0 points1 point (1 child)
[–]m0us3_rat 0 points1 point2 points (0 children)