### Structure of queue directories ### /hosts// Jobs queued for the given host (they are executed in the lexicographic order of s) /.job Symlink to /jobs/.job /.stat (Optional) status of the job /.tmp Used temporarily by brun to store the script actually sent to the host (can be inspected if something goes wrong) /.log (Optional) transcript of output produced by the job (including previous failed attempts) /jobs/.job All jobs issued on this queue, including those which are no longer queued for any machine /history// Successfully completed jobs (their .job, .stat and .log files) are moved here if the keep_history config switch is set. /log Log of actions on this queue. Lines look this way: YYYY-MM-DD HH:MM:SS [] and correspond to "Status" and "Message" in status files. /status-fifo FIFO used for reporting status of subprocesses by `bprun' ### Job files ### Mail-like structure. First come the headers (:), keywords are case-sensitive, no multi-line fields allowed, then an empty line and then the body (i.e., commands to be executed on the remote host). Known header fields: ID: Identifier of the job, unique in the scope of a queue Subject: Subject to be displayed to the user ### Status files ### Structure identical to job headers, but they do not contain a body. Known fields: Time: UNIX timestamp of the last status change Status: Machine-readable status of the job: NOPING - host does not respond to ping NOXFER - transfer of the job body to a temporary file on the host has failed RUN - job is running (present only in log files) OK - job executed successfully (however, the job will be removed from the queue immediately, so you are not likely to see this code) FAILED - job failed to execute (i.e., it returned a non-zero exit code) INTERR - internal error of BEX Message: (Optional) human-readable message explaining the status