python schedule多进程
时间: 2023-07-06 16:17:10 浏览: 46
Python schedule 库本身不支持多进程,但可以通过在调用任务函数时使用 multiprocessing 模块来实现多进程。
具体实现方法可以参考以下代码:
```python
import schedule
import time
import multiprocessing
def job():
# 任务函数,可以自定义
print("I'm working...")
if __name__ == '__main__':
# 创建进程池
pool = multiprocessing.Pool()
# 添加任务到进程池
pool.apply_async(job)
# 启动定时任务
schedule.every(10).seconds.do(pool.apply_async, job)
# 循环执行定时任务
while True:
schedule.run_pending()
time.sleep(1)
```
在上面的代码中,我们首先创建了一个进程池(`multiprocessing.Pool()`),然后使用 `pool.apply_async()` 方法将任务函数添加到进程池中。接着,我们使用 `schedule.every().do()` 方法来定义定时任务,其中在调用任务函数时使用了进程池的 `apply_async()` 方法。最后,在一个循环中调用 `schedule.run_pending()` 方法来运行定时任务。
需要注意的是,在使用 multiprocessing 模块时,我们需要将任务函数放在 `if __name__ == '__main__':` 中,以避免出现进程间通信问题。