make
命令允许-j
(--jobs
)选项记录如下:
-j [jobs], --jobs[=jobs]
Specifies the number of jobs (commands) to run simultaneously. If there is more than one -j option,
the last one is effective. If the -j option is given without an argument, make will not limit the
number of jobs that can run simultaneously.
即使手机有多个核心和/或处理器,我希望我的构建系统能够处理多线程处理。
设置rake
的最佳方法是什么,以便我可以确保最多3个任务一直在运行?
答案 0 :(得分:2)
是的,rake允许作业并行运行。要设置并行级别,请使用-j
开关。来自rake --help
:
-j, --jobs [NUMBER] Specifies the maximum number of tasks to execute in parallel. (default is number of CPU cores + 4)
但是,作业本身必须写成多任务,而不是任务。所以不要像以下那样定义任务:
namespace :mynamespace do
desc "description"
task task_name: :environment do
your_code
end
end
使用多任务:
namespace :mynamespace do
desc "description"
multitask task_name: :environment do
your_code
end
end
答案 1 :(得分:1)
有关于rake MultiTask的博文,但它支持-j
参数-m
进行并行化。