【问题标题】:Do Build scripts wait for Command line tasks to complete before proceeding?构建脚本是否等待命令行任务完成后再继续?
【发布时间】:2012-02-07 00:48:11
【问题描述】:

对不起,如果这个问题看起来含糊不清,我实际上是在询问 PHP 中的 Phing 构建脚本,它是基于 Java 的 Ant 构建脚本构建的,但我认为其他语言的其他构建脚本可能执行相同的方式。

我已经构建了一个可以优化图像的 PHP 脚本,您通过命令行将脚本传递到图像文件夹的文件路径,我的脚本将递归地遍历所有图像和图像文件夹,并通过另一个运行图像5 个命令行工具,可根据图像类型优化图像。

  • 所有图片都经过 ImageMagick 以准确确定它们是什么类型的文件
  • jpg,jpeg 图片经过 JPEGTran
  • GIF 动画通过 GIFsicle
  • 非动画 gif 使用 ImageMagick 转换为 png 并通过 PNGcrush
  • png 图片经过 PNGcrushPNGquantPNGout

您可以想象这需要很长时间,从目前的一些测试来看,运行适当的程序可能需要 5-15 秒每张图片

现在我构建它的全部原因是因为它很棒,但其次我在构建它时考虑了命令行界面,其唯一目的是能够将它与我尚未编写的 Phing Build 脚本一起使用,或者甚至还真正了解了一切。

所以现在只是一个基本问题,正如我解释的那样处理图像需要相当长的时间,这些构建脚本通常会等待/停止命令行进程完成运行,然后再完成构建过程吗?

我只是真的想确保如果由于某种原因我有一个充满图像的文件夹(即 100 张图像)可能需要很长时间来处理,并且我不希望任何东西超时和停止工作

【问题讨论】:

  • 我会说它是可配置的:背景与否。所以等待或等待很长时间。

标签: php ant build-process phing


【解决方案1】:

是的,像 ant 或 phing 这样的构建工具通常会等待命令执行完成。

鉴于您的机器有多个内核,要显着加快速度,就是使用至少在 ant 中可用的并行执行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-25
    • 2019-11-01
    • 2021-05-06
    • 2021-05-21
    相关资源
    最近更新 更多