Python同时运行多个脚本方法

2024-04-28 12:22:57 发布

您现在位置:Python中文网/ 问答频道 /正文

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

另一个例子是一个脚本,它计算指定文件夹中每个文件的哈希值。这有可能运行相当长的时间,因此如果可以同时启动其余脚本,那么最好是这样,这样它们就不必等待哈希脚本完成它正在执行的操作,然后再调用它们。在

多处理器是进行这种处理的正确方法吗,还是有其他更好的方法来实现这些结果,例如这个答案:Run multiple python scripts concurrently


Tags: 文件项目方法run答案py脚本文件夹
2条回答

要看情况而定。使用multiprocessing您可以创建一个流程管理器,这样它就可以按照您想要的方式生成流程,但是还有更灵活的方法来执行,而不需要编码。多处理通常很困难。在

看看circus,这是一个用Python编写的进程管理器,可以作为库使用,也可以独立使用,也可以通过远程API使用。您可以定义钩子来建模进程之间的依赖关系,see 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

您还可以使用类似于Celery的方法异步运行任务,这样就可以从python代码中调用任务,而不是通过shell。在

相关问题 更多 >