I have a model that I call many times from Python. The model takes a lot of time to start and stop, but only a short time to process the input data (which can be done several times between start / shutdown). Multiprocessing pool () seemed like a good way to do this, but I had trouble getting the Model () class to destroy correctly.
The following is a simplified structure of the program code. In fact, the init and del functions should do some smart things with the win32com.client module, and the model.y variable is a handle to control the external application.
#!/usr/bin/env python import multiprocessing import random import time class Model(): def __init__(self): self.y = random.randint(0,5)
The del function is never called for Model () s, I assume the garbage collector contains some reference. How can I make sure the model is closed correctly at the end of the program?
source share