Implement function to save work-in-progress jobs
This commit is contained in:
parent
f6dffb81cb
commit
869139260b
@ -9,6 +9,7 @@ function JobBackend(metadataBackend, jobQueue) {
|
||||
this.jobQueue = jobQueue;
|
||||
this.maxNumberOfQueuedJobs = global.settings.batch_max_queued_jobs || 64;
|
||||
this.inSecondsJobTTLAfterFinished = global.settings.finished_jobs_ttl_in_seconds || 2 * 3600; // 2 hours
|
||||
this.hostname = global.settings.api_hostname || 'batch';
|
||||
}
|
||||
|
||||
function toRedisParams(job) {
|
||||
@ -164,6 +165,21 @@ JobBackend.prototype.save = function (job, callback) {
|
||||
});
|
||||
};
|
||||
|
||||
var WORK_IN_PROGRESS_JOB = {
|
||||
DB: 5,
|
||||
PREFIX: 'batch:wip:'
|
||||
};
|
||||
|
||||
JobBackend.prototype.addWorkInProgressJob = function (job_id, user, callback) {
|
||||
var hostWIPKey = WORK_IN_PROGRESS_JOB.PREFIX + this.hostname; // Will be used for draining jobs.
|
||||
var userWIPKey = WORK_IN_PROGRESS_JOB.PREFIX + user; // Will be used for listing users and running jobs
|
||||
|
||||
this.metadataBackend.redisMultiCmd(WORK_IN_PROGRESS_JOB.DB, [
|
||||
['RPUSH', hostWIPKey, job_id],
|
||||
['RPUSH', userWIPKey, job_id]
|
||||
], callback);
|
||||
};
|
||||
|
||||
JobBackend.prototype.setTTL = function (job, callback) {
|
||||
var self = this;
|
||||
var redisKey = REDIS_PREFIX + job.job_id;
|
||||
|
Loading…
Reference in New Issue
Block a user