当我在终端中背靠背运行命令时,它不会再次同步。太棒了!它不应该。但是,如果我运行构建过程并以编程方式运行aws s3 sync
,那么它会同时对所有文件进行同步处理,就好像我的构建过程第二次以不同方式更改内容一样。`aws s3 sync`如何确定文件是否已更新?
无法弄清楚可能发生了什么。有任何想法吗?
我的构建过程基本上是pug source/ --out static-site/
和stylus -c styles/ --out static-site/styles/
当我在终端中背靠背运行命令时,它不会再次同步。太棒了!它不应该。但是,如果我运行构建过程并以编程方式运行aws s3 sync
,那么它会同时对所有文件进行同步处理,就好像我的构建过程第二次以不同方式更改内容一样。`aws s3 sync`如何确定文件是否已更新?
无法弄清楚可能发生了什么。有任何想法吗?
我的构建过程基本上是pug source/ --out static-site/
和stylus -c styles/ --out static-site/styles/
根据这一点 - http://docs.aws.amazon.com/cli/latest/reference/s3/sync.html
S3同步的文件大小和最后修改的时间戳进行比较,看是否有文件需要同步。
在你的情况下,我怀疑构建系统会产生一个新的时间戳,即使文件大小没有改变?
这可能是Amazon S3 [最终一致](Amazon S3数据一致性模型)的结果。如果你在两次执行之间拖延,它表现会更好吗? –
我尝试了几分钟。同样的结果。 – Costa