Sha256: 91f9eff17431ac5985184a0a2a88424c913dc6769439e7676f6c5b077dccec99
Contents?: true
Size: 1.7 KB
Versions: 1
Compression:
Stored size: 1.7 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.async.load_data end # DELETE /workflows/:workflow_id # # Not implemented delete do # delete a workflow (maybe?) end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
cellect-server-2.1.1 | lib/cellect/server/api.rb |