繁体   English   中英

Python-同时运行多个脚本的方法

[英]Python - Run Multiple Scripts At Same Time Methods

作为项目的一部分,我有一堆.py脚本。 其中一些我想开始并在后台运行,而其他一些则通过他们需要做的事情来运行。
例如,我有一个脚本,该脚本每10秒需要截屏一次,直到脚本关闭为止,我希望此脚本在后台运行,而其他脚本被调用并一直运行到完成。

另一个示例是一个脚本,该脚本计算指定文件夹中每个文件的哈希值。 这有可能运行相当长的时间,因此,如果可以同时启动其余脚本,那么这很好,这样它们就不必等待Hash脚本在完成之前就可以完成工作了。被调用。

多处理器是这​​种处理的正确方法,还是有其他方法可以达到这些结果呢?这种方法会更好,例如:答案:同时运行多个python脚本

您还可以使用诸如Celery之类的东西来异步运行任务,并且可以从python代码中而不是通过Shell调用任务。

这取决于。 使用多处理,您可以创建一个流程管理器,以便它可以按所需方式生成流程,但是有更灵活的方法可以进行编码。 多重处理通常很难。

看看circus ,它是一个用Python编写的流程管理器,您可以将其用作库,既可以独立使用,也可以通过远程API使用。 您可以定义挂钩来对流程之间的依赖关系进行建模, 请参阅docs

一个简单的配置可以是:

[watcher:one-shot-script]
cmd = python script.py
numprocesses = 1
warmup_delay = 30

[watcher:snapshots]
cmd = python snapshots.py
numprocesses = 1
warmup_delay = 30

[watcher:hash]
cmd = python hashing.py
numprocesses = 1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM