Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const axios = require('axios');
- const fork = require("child_process").fork;
- var server, heartbeat;
- const time = 20000;
- function startServer() {
- console.log(new Date() + " :: starting server");
- server = fork("./server.js");
- server.on("close", code => {
- console.log(new Date() + " :: restart server");
- startServer();
- });
- setTimeout(checkHeartbeat, time);
- }
- function checkHeartbeat() {
- const port = process.env.PORT || 3000;
- axios.get(`http://localhost:${port}`,{
- validateStatus: function (status) {
- return status <= 500;
- }
- })
- .then(function (response) {
- setTimeout(checkHeartbeat, time);
- })
- .catch(function (error) {
- console.log(new Date() + " :: server looks stuck, killing now");
- server.kill();
- })
- }
- startServer();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement