Python 如何安排每秒钟的并行脚本?喜欢定时任务

问题描述

大家好,我有并行工作的脚本,我使用 APScheduler 来安排任务,但它可以同步工作 (BlockingScheduler,BackgroundScheduler) 不适用于并行进程。您的建议是什么,我如何每秒运行并行进程?我也使用 multiprocesses 进行并行

EDİT:我刚刚解决了它,如果有人遇到这样的问题,这里是例子

from multiprocessing import Process

from apscheduler.schedulers.background import BlockingScheduler

def work_log_cpu1():
    print(" Proces work_log_cpu1")
    list11=[]
    for i in range(10000000):
        list11.append(i*2)
    print("Proces work_log_cpu1 finished")


def work_log_cpu2():
    print("Proces work_log_cpu2")
    list12=[]
    for i in range(10000000):
        list12.append(i*2)
    print("Proces work_log_cpu2 finished")


def work_log_cpu3():
    print(" Proces work_log_cpu3")
    list13=[]
    for i in range(10000000):
        list13.append(i*2)
    print("Proces work_log_cpu3 finished")
    


def main():
    # sleeps=[3,5,2,7]
    process=Process(target=work_log_cpu1)
    process2=Process(target=work_log_cpu2)
    process3=Process(target=work_log_cpu3)


    process.start()
    process2.start()
    process3.start()

    
    process.join()
    process2.join()
    process3.join()




if __name__ == '__main__':
    # main()
    sched.add_job(main,'interval',seconds=1,id='first_job',max_instances=1)
    sched.start()

解决方法

多处理有什么问题?

import multiprocessing

p1 = multiprocessing.Process(target=func1,args=("var1","var2",))
p2 = multiprocessing.Process(target=func2,args=("var3","var4",))
p1.start()
p2.start()
p2.join()