Sha256: ea1ec2bd3091c43884ab97d0030b34cc40d65659a8c2a1306b65387f7a36f32f
Contents?: true
Size: 1.69 KB
Versions: 3
Compression:
Stored size: 1.69 KB
Contents
require 'grape' module Cellect module Server class API < Grape::API format :json require 'cellect/server/api/helpers' require 'cellect/server/api/sets' require 'cellect/server/api/users' # GET /stats # # Provides system load information get :stats do instance = Attention.instance usage = ->(keyword) do `ps axo #{ keyword }`.chomp.split("\n")[1..-1].collect(&:to_f).inject :+ end { memory: usage.call('%mem'), cpu: usage.call('%cpu'), instance: instance.try(:id), status: Cellect::Server.adapter.status.merge({ workflows_ready: Cellect::Server.ready?, workflows: Workflow.all.map(&:status) }) } end resources :workflows do # GET /workflows # # Returns a list of available workflows get do Cellect::Server.adapter.workflow_list end segment '/:workflow_id' do helpers Helpers mount Sets mount Users # GET /workflows/:workflow_id/status # # Returns the workflow's status get :status do return four_oh_four unless workflow workflow.status end # POST /workflows/:workflow_id/reload # # Reloads the workflow from the adapter post :reload do return four_oh_four unless workflow workflow.reload_data end # DELETE /workflows/:workflow_id # # Not implemented delete do # delete a workflow (maybe?) end end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
cellect-server-3.0.2 | lib/cellect/server/api.rb |
cellect-server-3.0.1 | lib/cellect/server/api.rb |
cellect-server-3.0.0 | lib/cellect/server/api.rb |