Python - вызов multiprocessing.pool внутри демона
у меня естьPython
скрипт, который порождает процесс демона. Внутри процесса я используюmultiprocessing.pool
бежать1
в4
процессы одновременно.
Когда я запускаю это вне процесса-демона, он работает отлично (т.е. когда я устанавливаюrun_from_debugger=True
- см. код ниже), но если я запускаю код через процесс-демон, (т.е.run_from_debugger=False
),async_function
никогда не выполняется.
Можно ли использоватьmultiprocessing.pool
внутриdaemon
процесс??? я используюPython-daemon 1.6
как мой пакет демона (если это имеет значение).
Код:
def loop_callback(params):
#Spawn the process in the pool
# Because loop_callback is called many times, often faster than async_function executes,
# adding them to a pool allows for parallel execution.
pool.apply_async(async_function, params)
def run_service():
# loop is a method that can/will call loop_callback multiple times, and it will call
# loop_callback faster than the code in asyc_function executes
loop(alignment_watch_folder, sleep_duration)
#Class declaration
app = App()
#Declare a pool of processes
# processes=1 indicates serial execution
pool = Pool(processes=4)
#Either run from a daemon process or not
run_from_debugger = False
#Run the daemon process
if run_from_debugger:
run_service()
else:
daemon_runner = runner.DaemonRunner(app)
daemon_runner.do_action()
Любой совет будет принята с благодарностью.