Python 计划,并行执行任务
Python schedule, do tasks in parallel
我已经使用 this:
安排了我的任务
if __name__ == '__main__':
channel_crawler(priority=1)
schedule.every(PRIORITY[1]["interval"]).minutes.do(channel_crawler, priority=1)
schedule.every().day.at("17:30").do(distance_fixer)
while True:
schedule.run_pending()
time.sleep(1)
channel_crawler
大约需要 5 minutes
到 运行,distance_fixer
大约需要 5 hours
。当我 运行 我的代码同时 运行 宁 distance_fixer
时,时间表不会 运行 channel_crawler
每个 10 minutes
。我怎样才能 运行 我的功能并行?
您可以对作业使用多处理,因此每个进程 运行 每个函数
def run_schedule():
while True:
schedule.run_pending()
time.sleep(1)
def run_crawler_schedule():
channel_crawler(priority=1)
schedule.every(PRIORITY[1]["interval"]).minutes.do(channel_crawler, priority=1)
run_schedule(schedule)
def run_fix():
schedule.every().day.at("17:30").do(distance_fixer)
run_schedule()
def run_job()
p = Process(target=run_crawler_schedule)
c = Process(target=run_fix)
p.start()
c.start()
p.join()
c.join()
if __name__ == "__main__":
run_job()
我已经使用 this:
安排了我的任务if __name__ == '__main__':
channel_crawler(priority=1)
schedule.every(PRIORITY[1]["interval"]).minutes.do(channel_crawler, priority=1)
schedule.every().day.at("17:30").do(distance_fixer)
while True:
schedule.run_pending()
time.sleep(1)
channel_crawler
大约需要 5 minutes
到 运行,distance_fixer
大约需要 5 hours
。当我 运行 我的代码同时 运行 宁 distance_fixer
时,时间表不会 运行 channel_crawler
每个 10 minutes
。我怎样才能 运行 我的功能并行?
您可以对作业使用多处理,因此每个进程 运行 每个函数
def run_schedule():
while True:
schedule.run_pending()
time.sleep(1)
def run_crawler_schedule():
channel_crawler(priority=1)
schedule.every(PRIORITY[1]["interval"]).minutes.do(channel_crawler, priority=1)
run_schedule(schedule)
def run_fix():
schedule.every().day.at("17:30").do(distance_fixer)
run_schedule()
def run_job()
p = Process(target=run_crawler_schedule)
c = Process(target=run_fix)
p.start()
c.start()
p.join()
c.join()
if __name__ == "__main__":
run_job()