Class: CloudCrowd::Server
- Inherits:
-
Sinatra::Default
- Object
- Sinatra::Default
- CloudCrowd::Server
- Defined in:
- lib/cloud_crowd/server.rb
Overview
The main CloudCrowd (Sinatra) application. The actions are:
Admin
- get /
-
Render the admin console, with a progress meter for running jobs.
- get /status
-
Get the combined JSON of every active job and worker.
- get /worker/:name
-
Look up the details of a WorkUnit that a Worker is busy processing.
- get /heartbeat
-
Returns 200 OK to let monitoring tools know the server’s up.
Public API
- post /jobs
-
Begin a new Job. Post with a JSON representation of the job-to-be. (see examples).
- get /jobs/:job_id
-
Check the status of a Job. Response includes output, if the Job has finished.
- delete /jobs/:job_id
-
Clean up a Job when you’re done downloading the results. Removes all intermediate files.
Internal Workers API
- puts /node/:host
-
Registers a new Node, making it available for processing.
- delete /node/:host
-
Removes a Node from the registry, freeing up any WorkUnits that it had checked out.
- put /work/:unit_id
-
Mark a finished WorkUnit as completed or failed, with results.
Instance Method Summary collapse
-
#initialize(*args) ⇒ Server
constructor
At initialization record the identity of this Ruby instance as a server.
Constructor Details
#initialize(*args) ⇒ Server
At initialization record the identity of this Ruby instance as a server.
116 117 118 119 |
# File 'lib/cloud_crowd/server.rb', line 116 def initialize(*args) super(*args) CloudCrowd.identity = :server end |