Method: DatadogBackup::Dashboards#backup

Defined in:
lib/datadog_backup/dashboards.rb

#backupObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/datadog_backup/dashboards.rb', line 10

def backup
  LOGGER.info("Starting diffs on #{::DatadogBackup::ThreadPool::TPOOL.max_length} threads")
  futures = all.map do |dashboard|
    Concurrent::Promises.future_on(::DatadogBackup::ThreadPool::TPOOL, dashboard) do |board|
      id = board[id_keyname]
      get_and_write_file(id)
    end
  end

  watcher = ::DatadogBackup::ThreadPool.watcher
  watcher.join if watcher.status

  Concurrent::Promises.zip(*futures).value!
end