Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
D
dtu-enote-getpdf
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
enote
dtu-enote-getpdf
Commits
7b1e06db
Commit
7b1e06db
authored
6 years ago
by
Iain Bryson
Browse files
Options
Downloads
Patches
Plain Diff
Load config on every call.
parent
8fe85db2
No related branches found
No related tags found
No related merge requests found
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
getpdf-server/src/agenda.js
+6
-7
6 additions, 7 deletions
getpdf-server/src/agenda.js
getpdf-server/src/jobs/zip_job.js
+4
-3
4 additions, 3 deletions
getpdf-server/src/jobs/zip_job.js
getpdf-server/src/lib/zip_project.js
+2
-2
2 additions, 2 deletions
getpdf-server/src/lib/zip_project.js
with
12 additions
and
12 deletions
getpdf-server/src/agenda.js
+
6
−
7
View file @
7b1e06db
...
@@ -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
)
=>
{
...
...
This diff is collapsed.
Click to expand it.
getpdf-server/src/jobs/zip_job.js
+
4
−
3
View file @
7b1e06db
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
"
];
...
...
This diff is collapsed.
Click to expand it.
getpdf-server/src/lib/zip_project.js
+
2
−
2
View file @
7b1e06db
...
@@ -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
)
}
}
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment