Я пытаюсь запланировать некоторые пакетные процессы в Python, используя расписание, содержащее многопроцессорность.Они продолжают висеть, поэтому я написал небольшую тестовую работу, ну тестируй.Однако я написал его на своем Mac, и он отлично работает, но когда я пытаюсь запустить его на ПК своей работы, он зависает.Когда я просто запускаю составные части, все они отлично работают в обеих системах.
Все Python 3.7, Mac был Sierra, ПК - Windows 10 Pro
''' This is the test process to schedule (saved as mp_lib) '''
import pandas as pd
import numpy as np
from multiprocessing import Pool
def parallelise(df, func):
df_split = np.array_split(df, 2)
pool = Pool(2)
df = pd.concat(pool.map(func, df_split))
pool.close()
pool.join()
return df
def parallel_func(df):
df['Three'] = df['One'] + df['Two']
return df
def run_job():
df = pd.DataFrame([[1,2],[3,4],[5,6],[7,8]], columns=['One', 'Two'])
df2 = parallelise(df, parallel_func)
print(df2)
''' This is the scheduler '''
import schedule
import time
import mp_lib as mpl
def main():
schedule.every(10).seconds.do(mpl.run_job)
while True:
schedule.run_pending()
time.sleep(1)
if __name__ == "__main__":
main()
Ожидается, что консоль будет выводить элементарные математические данные каждые 10 секунд, что она делает на Mac.В Windows консоль молчит, однако диспетчер задач показывает активные сеансы Python.