Implement job workflow in Worker
This commit is contained in:
parent
a424861839
commit
c7828eed45
11
service/fetchjob.js
Normal file
11
service/fetchjob.js
Normal file
@ -0,0 +1,11 @@
|
||||
"use strict"
|
||||
|
||||
const reposervers = require("./reposervers")
|
||||
|
||||
function run(data) {
|
||||
return new Promise(function(resolve, reject) {
|
||||
resolve()
|
||||
})
|
||||
}
|
||||
|
||||
module.exports = run
|
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user