server load endpoint uses settings for port
This commit is contained in:
19
app.coffee
19
app.coffee
@@ -128,25 +128,20 @@ setInterval () ->
|
|||||||
net = require('net')
|
net = require('net')
|
||||||
os = require('os')
|
os = require('os')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
server = net.createServer (socket) ->
|
server = net.createServer (socket) ->
|
||||||
fiveMinLoad = os.loadavg()[0]
|
socket.on "error", (err)->
|
||||||
|
logger.err err:err, "error with socket on load check"
|
||||||
|
currentLoad = os.loadavg()[0]
|
||||||
availableWorkingCpus = os.cpus().length - 1
|
availableWorkingCpus = os.cpus().length - 1
|
||||||
freeLoad = availableWorkingCpus - fiveMinLoad
|
freeLoad = availableWorkingCpus - currentLoad
|
||||||
freeLoadPercentage = Math.round((freeLoad / availableWorkingCpus) * 100)
|
freeLoadPercentage = Math.round((freeLoad / availableWorkingCpus) * 100)
|
||||||
if freeLoadPercentage < 0
|
if freeLoadPercentage < 0
|
||||||
freeLoadPercentage = 1 # when its 0 the server is set to drain and will move projects about
|
freeLoadPercentage = 1 # when its 0 the server is set to drain and will move projects to different servers
|
||||||
socket.write "up, #{freeLoadPercentage}%\n", "ASCII"
|
socket.write "up, #{freeLoadPercentage}%\n", "ASCII"
|
||||||
socket.on "error", (err)->
|
|
||||||
console.log err, "error with socket"
|
|
||||||
socket.destroy()
|
socket.destroy()
|
||||||
return
|
|
||||||
|
|
||||||
port = 4080
|
server.listen port = (Settings.internal?.clsi?.load_port or 3044), ->
|
||||||
|
|
||||||
server.listen port, ->
|
|
||||||
console.log "listening on port #{port}"
|
console.log "listening on port #{port}"
|
||||||
# netcat 127.0.0.1 4080
|
# netcat 127.0.0.1 3044
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ module.exports =
|
|||||||
internal:
|
internal:
|
||||||
clsi:
|
clsi:
|
||||||
port: 3013
|
port: 3013
|
||||||
|
load_port: 3044
|
||||||
host: "localhost"
|
host: "localhost"
|
||||||
|
|
||||||
apis:
|
apis:
|
||||||
|
|||||||
Reference in New Issue
Block a user