Implement job workflow in Worker

master
rubenwardy 2017-01-19 14:57:41 +00:00
parent a424861839
commit c7828eed45
2 changed files with 48 additions and 6 deletions

11
service/fetchjob.js Normal file
View File

@ -0,0 +1,11 @@
"use strict"
const reposervers = require("./reposervers")
function run(data) {
return new Promise(function(resolve, reject) {
resolve()
})
}
module.exports = run

View File

@ -5,9 +5,40 @@ require("process").chdir(__dirname)
const FarmerAPI = require("./farmerapi")
const api = new FarmerAPI()
api.getWork().then(function(r) {
console.log("r: ")
console.log(r);
}).catch(function(e) {
console.log("e" + e)
})
function startJob(data) {
console.log("Starting job of type " + data.type)
var job
switch (data.type) {
case "fetch":
job = require("./fetchjob")
break
default:
return null
}
job().then(function(res) {
console.log("Job finished!")
console.log(res)
setTimeout(checkForJobs, 5000)
}).catch(function(e) {
console.log("Job failed!")
console.log(e)
})
}
function checkForJobs(data) {
console.log("Checking for jobs...")
api.getWork().then(function(job) {
if (job) {
startJob(job)
} else {
console.log("No jobs available")
setTimeout(checkForJobs, 5000)
}
}).catch(function(e) {
console.log("Error whilst checking for jobs")
setTimeout(checkForJobs, 5000)
})
}
setTimeout(checkForJobs, 5000)