我有一堆.py脚本作为项目的一部分。他们中的一些人我想开始在后台运行,而其他人则运行他们需要做的。
例如,我有一个脚本,每10秒截图一次,直到脚本关闭,我希望在后台运行这个脚本,而其他脚本被调用并运行到完成。在
另一个例子是一个脚本,它计算指定文件夹中每个文件的哈希值。这有可能运行相当长的时间,因此如果可以同时启动其余脚本,那么最好是这样,这样它们就不必等待哈希脚本完成它正在执行的操作,然后再调用它们。在
多处理器是进行这种处理的正确方法吗,还是有其他更好的方法来实现这些结果,例如这个答案:Run multiple python scripts concurrently
要看情况而定。使用multiprocessing您可以创建一个流程管理器,这样它就可以按照您想要的方式生成流程,但是还有更灵活的方法来执行,而不需要编码。多处理通常很困难。在
看看circus,这是一个用Python编写的进程管理器,可以作为库使用,也可以独立使用,也可以通过远程API使用。您可以定义钩子来建模进程之间的依赖关系,see docs。在
简单的配置可以是:
您还可以使用类似于Celery的方法异步运行任务,这样就可以从python代码中调用任务,而不是通过shell。在
相关问题 更多 >
编程相关推荐