Skip to content
Snippets Groups Projects
Commit 7b1e06db authored by Iain Bryson's avatar Iain Bryson
Browse files

Load config on every call.

parent 8fe85db2
No related branches found
No related tags found
No related merge requests found
...@@ -17,18 +17,17 @@ export function getTasks(task, course_id) { ...@@ -17,18 +17,17 @@ export function getTasks(task, course_id) {
} else { } else {
const config = getConfig(); const config = getConfig();
if (Object.keys(config).includes(course_id)) { if (Object.keys(config).includes(course_id)) {
makeJobForCourse(course_id, config, sharelatex_db, agenda); makeJobForCourse(course_id, sharelatex_db, agenda);
return tasks[task][course_id]; return tasks[task][course_id];
} }
} }
return undefined; return undefined;
} }
function makeJobForCourse(course, config, sldb, a) { function makeJobForCourse(course, sldb, a) {
logger.debug(`Creating job definition for getpdf for ${course}`); logger.debug(`Creating job definition for getpdf for ${course}`);
const opts = {priority: 'high', concurrency: 1}; const opts = {priority: 'high', concurrency: 1};
const project_id = config.sharelatex_config[course].enote_project_id;
const getpdf_task_name = `GetPDF for ${course}`; const getpdf_task_name = `GetPDF for ${course}`;
tasks.getpdf[course] = {name: getpdf_task_name}; tasks.getpdf[course] = {name: getpdf_task_name};
...@@ -37,14 +36,14 @@ function makeJobForCourse(course, config, sldb, a) { ...@@ -37,14 +36,14 @@ function makeJobForCourse(course, config, sldb, a) {
const buildPDFJob = new BuildPDFJob(course, project, job); const buildPDFJob = new BuildPDFJob(course, project, job);
buildPDFJob.jobFunc(job, done); buildPDFJob.jobFunc(job, done);
}; };
const zipAndGetPDFJob = new ZipJob(sldb, project_id, course, (zip_details, project, job, done) => { const zipAndGetPDFJob = new ZipJob(sldb, course, (zip_details, project, job, done) => {
setTimeout(() => after_zip(zip_details, project, job, done), 500) setTimeout(() => after_zip(zip_details, project, job, done), 500)
}); });
a.define(getpdf_task_name, opts, zipAndGetPDFJob.jobFunc.bind(zipAndGetPDFJob)); a.define(getpdf_task_name, opts, zipAndGetPDFJob.jobFunc.bind(zipAndGetPDFJob));
const zip_task_name = `Zip for ${course}`; const zip_task_name = `Zip for ${course}`;
tasks.zip[course] = {name: zip_task_name}; tasks.zip[course] = {name: zip_task_name};
const zipOnlyJob = new ZipJob(sldb, project_id, course); const zipOnlyJob = new ZipJob(sldb, course);
a.define(zip_task_name, opts, zipOnlyJob.jobFunc.bind(zipOnlyJob)); a.define(zip_task_name, opts, zipOnlyJob.jobFunc.bind(zipOnlyJob));
} }
...@@ -56,7 +55,7 @@ export function initAgenda(dbs) { ...@@ -56,7 +55,7 @@ export function initAgenda(dbs) {
const config = getConfig(); const config = getConfig();
for (let course of Object.keys(config.sharelatex_config)) { for (let course of Object.keys(config.sharelatex_config)) {
makeJobForCourse(course, config, sldb, a); makeJobForCourse(course, sldb, a);
} }
function graceful() { function graceful() {
...@@ -112,7 +111,7 @@ export function purgeOldJobs(job_name, callback) { ...@@ -112,7 +111,7 @@ export function purgeOldJobs(job_name, callback) {
console.dir(jobs); console.dir(jobs);
jobs.sort((j1,j2) => ( jobs.sort((j1,j2) => (
(new Date(j2.attrs.lastFinishedAt) - new Date(j1.attrs.lastFinishedAt)) (new Date(j2.attrs.lastFinishedAt) - new Date(j1.attrs.lastFinishedAt))
)) ));
logger.info(`Purge: Got ${jobs.length} jobs for job ${job_name}`); logger.info(`Purge: Got ${jobs.length} jobs for job ${job_name}`);
const tasks = jobs.slice(max_jobs).map( (job) => { const tasks = jobs.slice(max_jobs).map( (job) => {
return (cb) => { return (cb) => {
......
import { zipProject } from "../lib/zip_project"; import { zipProject } from "../lib/zip_project";
import { ObjectId } from "mongojs"; import { ObjectId } from "mongojs";
import logger from '../logger'; import logger from '../logger';
import getConfig from "../config";
function logToLoggerAndJob(msg, job) { function logToLoggerAndJob(msg, job) {
...@@ -10,16 +11,16 @@ function logToLoggerAndJob(msg, job) { ...@@ -10,16 +11,16 @@ function logToLoggerAndJob(msg, job) {
} }
export default class ZipJob { export default class ZipJob {
constructor(sldb, project_id, course, after_zip) { constructor(sldb, course, after_zip) {
this.sldb = sldb; this.sldb = sldb;
this.project_id = project_id;
this.course = course; this.course = course;
this.after_zip = after_zip; this.after_zip = after_zip;
} }
jobFunc(job, done) { jobFunc(job, done) {
const course = this.course; const course = this.course;
const project_id = this.project_id; const config = getConfig();
const project_id = config.sharelatex_config[course].enote_project_id;
logger.info(`Starting zip job for course ${course} ${project_id}`); logger.info(`Starting zip job for course ${course} ${project_id}`);
job.attrs.data.logs = ["Loading Project"]; job.attrs.data.logs = ["Loading Project"];
......
...@@ -11,7 +11,7 @@ function sharelatexDataPath() { ...@@ -11,7 +11,7 @@ function sharelatexDataPath() {
} }
function _getAllFoldersFromProject(project, callback) { function _getAllFoldersFromProject(project, callback) {
var folders = {} var folders = {};
const processFolder = (basePath, folder) => { const processFolder = (basePath, folder) => {
folders[basePath] = folder; folders[basePath] = folder;
for (var childFolder of (folder.folders || [])) { for (var childFolder of (folder.folders || [])) {
...@@ -19,7 +19,7 @@ function _getAllFoldersFromProject(project, callback) { ...@@ -19,7 +19,7 @@ function _getAllFoldersFromProject(project, callback) {
processFolder(path.join(basePath, childFolder.name), childFolder); processFolder(path.join(basePath, childFolder.name), childFolder);
} }
} }
} };
processFolder("/", project.rootFolder[0]); processFolder("/", project.rootFolder[0]);
callback(null, folders) callback(null, folders)
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment