lib/workflow-in-memory-backend.js
function runJob(uuid, runner_id, callback) {
            var idx = queued_jobs.indexOf(uuid);
            if (idx === -1) {
                return callback(new e.BackendPreconditionFailedError(
                  'Only queued jobs can be run'));
            } else {
                queued_jobs.splice(idx, 1);
                jobs[uuid].runner_id = runner_id;
                jobs[uuid].execution = 'running';
                return callback(null, clone(jobs[uuid]));
            }
        }
function runJob(uuid, runner_id, callback) {
            var idx = queued_jobs.indexOf(uuid);
            if (idx === -1) {
                return callback(new e.BackendPreconditionFailedError(
                  'Only queued jobs can be run'));
            } else {
                queued_jobs.splice(idx, 1);
                jobs[uuid].runner_id = runner_id;
                jobs[uuid].execution = 'running';
                return callback(null, clone(jobs[uuid]));
            }
        }
Lock a job, mark it as running by the given runner, update job status. uuid - the job uuid (String) runner_id - the runner identifier (String) callback - f(err, job) callback will be called with error if something fails, otherwise it'll return the updated job using getJob.