Browse Source

添加GPU节点服务backup.js

cloud
刘冬煜 4 years ago
parent
commit
10884375c9
1 changed files with 91 additions and 0 deletions
  1. +91
    -0
      style-transform-master/style-transform-master/backup.js

+ 91
- 0
style-transform-master/style-transform-master/backup.js View File

@ -0,0 +1,91 @@
'use strict';
const fs = require('fs');
const exec = require('child_process').exec;
const request = require("request");
const net = require('net');
const tcp_client = new net.Socket();
tcp_client.connect(5678, "106.75.253.244", function () {
console.log('CONNECTED TO: 106.75.253.244:5678');
tcp_client.on('data', function (data) {
data = data.toString();
console.log(data);
let queryObject = JSON.parse(data);
let stream = fs.createWriteStream("./uploads/" + queryObject.content);
request({
url: "http://106.75.253.244:1337/uploads/" + queryObject.content,
method: "GET"
}).pipe(stream).on("close", function (err) {
if (err) {
console.error(err);
}
console.log("content[" + queryObject.content + "] download.");
stream = fs.createWriteStream("./uploads/" + queryObject.style);
request({
url: "http://106.75.253.244:1337/uploads/" + queryObject.style,
method: "GET"
}).pipe(stream).on("close", function (err) {
if (err) {
console.error(err);
}
console.log("style[" + queryObject.style + "] download.");
run_child(queryObject);
});
});
});
});
function run_child(queryObject) {
let taskID = queryObject.taskID;
let child = exec(`python run_main.py --content ./uploads/${queryObject.content} --style ./uploads/${queryObject.style} --output ./uploads/${taskID}.jpg --num_iter ${queryObject.iter}`);
console.log(taskID + " start!");
console.log(`content: ${queryObject.content}`);
console.log(`style: ${queryObject.style}`)
console.log(`output: ${taskID}.jpg`);
console.log(`num_iter = ${queryObject.iter}`);
child.stdout.on("data", function (data) {
let args = data.split(' ');
console.log(args);
if (args[0] != '$') {
return;
}
tcp_client.write(JSON.stringify({
signal: args[0],
iter: args[1],
totalLoss: args[2],
ContentLoss: args[3],
StyleLoss: args[4]
}));
});
child.on("close", (code) => {
request({
url: `http://` + `106.75.253.244:1337/receive_result`,
method: "POST",
form: {
taskID: taskID,
result: fs.readFileSync(`./uploads/${taskID}.jpg`).toString('base64')
}
}, function (err, res, html) {
if (err || res.statusCode != 200) {
console.error(err);
console.error(res.statusCode);
console.log(html);
return;
}
tcp_client.write(JSON.stringify({
signal: "###",
code: code
}));
});
});
}

Loading…
Cancel
Save