Add documentation for all the exported symbols
[candle] / src / main / processor.lisp
index 5e3363911fd9b15f88e3c9518100d84a1b2bf075..5a3777753bd0412848eebffa3006ae15326ae18b 100644 (file)
@@ -3,9 +3,56 @@
 (defvar *mutex* (sb-thread:make-mutex))
 (defvar *waitq* (sb-thread:make-waitqueue))
 
-(defvar *job-system*)
-(defgeneric process-job-in-system (job-system job))
-(defgeneric shutdown-system (job-system))
+(defvar *job-system* nil
+ "*JOB-SYSTEM*
+
+VALUE TYPE:
+
+  A keyword
+
+INITIAL VALUE:
+
+  NIL
+
+DESCRIPTION:
+
+  The job system the server is running under.  When implementing a job
+  system, the generics PROCESS-JOB-IN-SYSTEM and SHUTDOWN-SYSTEM must
+  be implemented.  Is set by the command line when the server is started.")
+
+(defgeneric process-job-in-system (job-system job)
+ (:documentation
+  "PROCESS-JOB-IN-SYSTEM JOB-SYSTEM JOB => SUCCESS, LOG
+
+ARGUMENTS AND VALUES:
+
+  JOB-SYSTEM: a keyword representing an installed system
+  JOB: A job to be run
+  SUCCESS: A boolean, whether the job was successful
+  LOG: The log from the job
+
+DESCRIPTION:
+
+  Runs a job in the specified system.  The code will be checked out,
+  so any defining system should copy the code from the job's project's
+  code dir to wherever it will run, and then ran `candle run` inside
+  that directory, capturing the output."))
+
+(defgeneric shutdown-system (job-system)
+ (:documentation
+  "SHUTDOWN-SYSTEM JOB-SYSTEM => UNUSED
+
+ARGUMENTS AND VALUES:
+
+  JOB-SYSTEM: a keyword representing an installed system
+  UNUSED: the result is unused
+
+DESCRIPTION:
+
+  Shuts down the specified system.  Sometimes this will be an empty
+  method, as the system requires no special shutdown instructions.
+  This is run when the candle server is shutdown for the job system
+  that's specified."))
 
 (defun start-processor-thread ()
  (log:info "Starting processor in ~(~A~) mode" *job-system*)