任务调度程序,保持一定数量的任务运行

任务调度程序,保持一定数量的任务运行

我有 400 个耗时的网页提取任务需要运行,但我不希望一个接一个地运行它们,而是希望一次运行 6 个任务,以加快整体任务时间。我理想情况下想要实现的是创建 400 个任务,选择让 6 个任务始终同时运行,然后调度程序软件将确保 6 个任务始终在运行,当一个任务完成后,列表中的下一个任务将启动。这可能吗?

如果上述理想解决方案不可行,我正在考虑创建 6 个单独的任务列表,每个任务列表包含整个列表的 1/6。然后,所有任务可以同时启动,并且每个单独的任务列表将在前一个任务完成时启动列表中的下一个任务。

有任何想法吗?

答案1

在 Linux 上,这可以通过 xargs 实现:

cat cmds | xargs -n 1 -P 6 -0 bash -c

其中 cmds 是使用 bash 执行的命令列表


在 Windows 上我建议您尝试使用 PowerShell 解决此问题。多种的 问题有关此主题的信息,请访问 stack overflow

相关内容