[英]How to run files in parallel in Ruby?
如何实现我要并行处理一堆文件,当一个文件完成时,我要开始下一个文件。 而且我想确保使用Ruby, @ Wooledge.org一次恰好有5个作业在运行 ?
find . -print0 | xargs -0 -n 1 -P 5 command
要么
find . -print0 | parallel -0 command | use_output_if_needed
要么
for i in *.log ; do
echo "$i"
[...do other needed stuff...]
sem -j10 gzip $i ";" echo done
done
sem --wait
等等
使用红宝石池宝石 。
已经使用了几个月并且喜欢它!
如果您有任何疑问,请告诉我!
范例程式码
require 'thread/pool'
pool = Thread.pool(5)
all_files.each do |f|
pool.process {
# Do Stuff
}
end
pool.shutdown
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.