微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。