29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
# File 'lib/gooddata/lcm/actions/import_object_collections.rb', line 29
def call(params)
results = []
GoodData.logger.info 'Starting ImportObjectCollections action'
client = params.gdc_gd_client
development_client = params.development_client
number_of_threads = Integer(params.number_of_threads || '8')
params.synchronize.peach(number_of_threads) do |info|
from = info.from
to_projects = info.to
transfer_uris = info.transfer_uris
from_project = development_client.projects(from) || fail("Invalid 'from' project specified - '#{from}'")
to_projects.peach(number_of_threads) do |entry|
pid = entry[:pid]
to_project = client.projects(pid) || fail("Invalid 'to' project specified - '#{pid}'")
if transfer_uris.any?
logging_data(from, pid, transfer_uris, true)
from_project.partial_md_export(transfer_uris, project: to_project)
logging_data(from, pid, transfer_uris, false)
end
results << {
from: from,
to: pid,
status: 'ok'
}
end
end
results
end
|