This repository has been archived by the owner on Jul 17, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfailsworker.js
66 lines (57 loc) · 2.02 KB
/
failsworker.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
//Fails (Fancy Automated Internet Lecture System)
//Copyright (C) 2015-2017 Marten Richter
//
//This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
// this worker runs in the background
var failspdf=require('./failspdf.js');
var config= require('./config')();
var failspicture=require('./failspicture.js');
var syncdata = function(dir,files)
{
console.log("syncdata",dir,files);
var arr=files;
arr.unshift(dir);
var pr=require('child_process').spawn(config.syncscript,arr);
pr.stdout.on('data', function(data) {
console.log('syncdata stdout:'+data);
});
pr.stderr.on('data', function(data) {
console.log('syncdata stderr:'+data);
});
}
process.on('config',function(config,callback) {
console.log("Fails worker got config");
callback();
});
process.on('message', function(msg,callback) {
console.log('Failsworker task:', msg.task);
switch (msg.task) {
case 'GeneratePDF': {
failspdf.CreatePDFs(msg.dir,msg.files,msg.lectdetail,msg.pictures,
function() {
syncdata(msg.dir,['lect_bw.pdf','lect_col.pdf']);
});
// todo make file sync
//process.send({data:blub});
} break;
case 'syncfile': {
syncdata(msg.dir,msg.files);
} break;
case 'GenerateThumbnails': {
failspicture.GenerateThumbnails(msg.file, msg.extension, msg.dir,msg.mimetype);
} break;
};
});
process.on('terminate',function() {
console.log('Failsworker was terminated!')
});
console.log("Failworker started!");