Sha256: 26ed7d445ad3ae18f54dd0f76ebe5faa8334ccf7a40bc031044b34c001e8a7bf
Contents?: true
Size: 1.65 KB
Versions: 2
Compression:
Stored size: 1.65 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 node_set = Cellect::Server.node_set.actors.first usage = ->(keyword) do `ps axo #{ keyword }`.chomp.split("\n")[1..-1].collect(&:to_f).inject :+ end { memory: usage.call('%mem'), cpu: usage.call('%cpu'), node_set: { id: node_set.id, ready: node_set.ready? }, 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 workflow.status end # POST /workflows/:workflow_id/reload # # Reloads the workflow from the adapter post :reload do 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
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
cellect-server-1.3.1 | lib/cellect/server/api.rb |
cellect-server-1.3.0 | lib/cellect/server/api.rb |