I have a script called jobrunner.py that calls class methods in main.py. See below...
# jobrunner.py from multiprocessing import Process import main from main import BBOX def _a(arg): f = main.a() print f.run() def _b(arg): p = main.b() print p.run() if __name__ == '__main__': world = '-180,180,-90,90' BBOX.append(world.split(',')) p1 = Process(target=_a, args=("1",)) p2 = Process(target=_b, args=("1",)) p1.start() p2.start() p1.join() p2.join()
The _a and _b processes are called without any problems on OSX and Ubuntu, but when I try to run the same thing on Windows (the same version of python and that's it), it does not mean that the index is out of range. This makes me think that the "global" BBOX variable is not set or passed between modules on the Windows platform. Has anyone else seen something like this and knows how to fix it?
Adam
UPDATE: I figured this out, although it could be a common hack ... See below!
# jobrunner.py from multiprocessing import Process import main from main import BBOX def _a(arg): BBOX.append(arg)
source share