python - 如何更新在进程池下执行的多个 Python 文件的最佳方法
问题描述
我正在开发一个需要同时执行许多 Python 脚本的系统。我正在使用这段代码来做到这一点:
import os
from multiprocessing import Pool
processes = ('grabber.py', 'mailer.py', 'updater.py')
def run_process(process):
os.system('python {}'.format(process))
pool = Pool(processes=3)
pool.map(run_process, processes)
此代码很有用并解决了我的问题,但脚本“updater.py”负责更新其他代码“grabber.py”和“mailer.py”执行以下步骤:
1 - 尝试从远程服务器下载带有更新的新闻脚本(grabber 和 mailer) 2 - 备份当前脚本 3 - 停止 grabber.py 和 mailer.py 4 - 替换脚本 5 - 再次重新执行它们
但是,我正在考虑我的情况。我正在使用进程池来运行我的脚本。将我的池进程与此更新进程相关联并停止邮件和抓取器的最佳方法是什么?
谢谢!
解决方案
你可以这样试试:
import threading
from time import sleep
threading.Thread(target='updater.py').start()
sleep(0.01)
threading.Thread(target='grabber.py').start()
sleep(0.01)
threading.Thread(target='mailer.py').start()
sleep(0.01)
推荐阅读
- python - 更改包含最大值和最小值的列python
- shell - 如何在我的计算机重新启动时自动启动您的 docker 服务?
- email - Google Apps 脚本:无法使用 createEvent() 发送电子邮件
- sql - 窗口函数:仅对另一列中的不同值求和
- java - 如何配置 spring 应用程序以在 aws 上使用 IAM 角色(在 AWS ECS 内运行)和在 dev env 上使用凭证?
- php - 如何使用 codeigniter 查询生成器编写“ORDER BY NULL”
- build - 发布流水线设计理念
- c++ - 为什么以下成员初始化程序在 C++ 中不起作用
- javascript - 如何使用 AJAX 请求从本地路径和 JSON 文件获取照片。之后将其附加到 html 标签
- jquery - 使用 jQuery 获取两个 H2 之间的所有 H3