Sha256: 1b7d352d4972a096a264a89ede136c2c3b6a70756acf70ab7fd5a149b14f3504

Contents?: true

Size: 1000 Bytes

Versions: 4

Compression:

Stored size: 1000 Bytes

Contents

require "grape"
require "get_process_mem"

module RestFtpDaemon
  module API
    class Status < Grape::API

      ### ENDPOINTS
      desc "Show daemon status"
      get "/" do
        status 200

        # Get counters
        counters = $counters.stats.dup

        # Amend counters with legacy attributes
        if counters[:jobs].is_a? Hash
          counters[:jobs_finished] = counters[:jobs][:finished] || 0
          counters[:jobs_failed]   = counters[:jobs][:failed] || 0
        end
        if counters[:data].is_a? Hash
          counters[:transferred] = counters[:data][:transferred] || 0
        end

        # Generate sutrcture
        return  {
          name: Conf.app_name,
          version: Conf.app_ver,
          started: Conf.app_started,
          hostname: `hostname`.to_s.chomp,
          jobs_count: $queue.jobs_count,

          metrics: Metrics.sample,

          counters: counters,

          workers: $pool.worker_variables,

          }
      end

    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rest-ftp-daemon-0.302.3 lib/rest-ftp-daemon/api/status.rb
rest-ftp-daemon-0.302.2 lib/rest-ftp-daemon/api/status.rb
rest-ftp-daemon-0.302.1 lib/rest-ftp-daemon/api/status.rb
rest-ftp-daemon-0.302.0 lib/rest-ftp-daemon/api/status.rb