Sha256: bdfbdf6000f16135b3f93f6a9ca4212029d0daee6f09d32e76b9f8803143726b

Contents?: true

Size: 1.75 KB

Versions: 2

Compression:

Stored size: 1.75 KB

Contents

require "grape"
require "get_process_mem"

module RestFtpDaemon
  module API
    class Root < Grape::API


####### CLASS CONFIG

      helpers RestFtpDaemon::LoggerHelper

      logger RestFtpDaemon::LoggerPool.instance.get :api

      do_not_route_head!
      do_not_route_options!

      format :json

      mount RestFtpDaemon::API::Jobs => "/jobs"
      mount RestFtpDaemon::API::Dashbaord => "/"


####### INITIALIZATION

      def initialize
        # Call daddy
        super

        # Check that Queue and Pool are available
        raise RestFtpDaemon::MissingQueue unless defined? $queue
        raise RestFtpDaemon::MissingQueue unless defined? $pool
      end


####### HELPERS

      helpers do

        def logger
          Root.logger
        end

      end


####### GET /routes

      desc "show application routes"
      get "/routes" do
        log_info "GET /routes"
        status 200
        return RestFtpDaemon::API::Root.routes
      end


####### GET /status

      # Server global status
      get "/status" do
        log_info "GET /status"
        mem = GetProcessMem.new

        status 200
        return  {
          hostname: `hostname`.chomp,
          version: APP_VER,
          started: APP_STARTED,
          uptime: (Time.now - APP_STARTED).round(1),
          counters: $queue.counters,
          memory_bytes: mem.bytes.to_i,
          memory_mb: mem.mb.round(0),
          status: $queue.counts_by_status,
          workers: $pool.worker_variables,
          jobs_count: $queue.jobs_count,
          jobs_queued: $queue.queued_ids
          }
      end


####### GET /config

      # Server config
      get "/config" do
        log_info "GET /config"

        status 200
        return Helpers.get_censored_config
      end


    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rest-ftp-daemon-0.231.1 lib/rest-ftp-daemon/api/root.rb
rest-ftp-daemon-0.231.0 lib/rest-ftp-daemon/api/root.rb