summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/buildtool/graph_traverser/graph_traverser.hpp3
-rw-r--r--src/buildtool/main/main.cpp10
2 files changed, 8 insertions, 5 deletions
diff --git a/src/buildtool/graph_traverser/graph_traverser.hpp b/src/buildtool/graph_traverser/graph_traverser.hpp
index 02b48a43..df5fa65f 100644
--- a/src/buildtool/graph_traverser/graph_traverser.hpp
+++ b/src/buildtool/graph_traverser/graph_traverser.hpp
@@ -146,7 +146,8 @@ class GraphTraverser {
}
if (clargs_.stage->remember) {
- if (not remote_api_->RetrieveToCas(*object_infos, GetLocalApi())) {
+ if (not remote_api_->ParallelRetrieveToCas(
+ *object_infos, GetLocalApi(), clargs_.jobs)) {
Logger::Log(LogLevel::Warning, "Failed to copy objects to CAS");
}
}
diff --git a/src/buildtool/main/main.cpp b/src/buildtool/main/main.cpp
index 819d7470..54fdb92a 100644
--- a/src/buildtool/main/main.cpp
+++ b/src/buildtool/main/main.cpp
@@ -836,7 +836,7 @@ void WriteTargetCacheEntries(
std::unordered_map<TargetCacheKey, AnalysedTargetPtr> const& cache_targets,
std::unordered_map<ArtifactDescription, Artifact::ObjectInfo> const&
extra_infos,
- std::size_t /* jobs */,
+ std::size_t jobs,
gsl::not_null<IExecutionApi*> const& local_api,
gsl::not_null<IExecutionApi*> const& remote_api) {
if (!cache_targets.empty()) {
@@ -844,8 +844,8 @@ void WriteTargetCacheEntries(
"Backing up artifacts of {} export targets",
cache_targets.size());
}
- auto downloader = [&local_api, &remote_api](auto infos) {
- return remote_api->RetrieveToCas(infos, local_api);
+ auto downloader = [&local_api, &remote_api, &jobs](auto infos) {
+ return remote_api->ParallelRetrieveToCas(infos, local_api, jobs);
};
for (auto const& [key, target] : cache_targets) {
if (auto entry = TargetCacheEntry::FromTarget(target, extra_infos)) {
@@ -1097,7 +1097,9 @@ auto main(int argc, char* argv[]) -> int {
if (build_result) {
WriteTargetCacheEntries(cache_targets,
build_result->extra_infos,
- arguments.common.jobs,
+ arguments.build.build_jobs > 0
+ ? arguments.build.build_jobs
+ : arguments.common.jobs,
traverser.GetLocalApi(),
traverser.GetRemoteApi());