| 47 | global.database.thread_id = threadName; |
| 48 | |
| 49 | function registerPool() { |
| 50 | global.mysql.query("SELECT * FROM pools WHERE id = ?", [global.config.pool_id]).then(function (rows) { |
| 51 | rows.forEach(function (row) { |
| 52 | if (row.ip !== global.config.bind_ip) { |
| 53 | console.error("Pool ID in use already for a different IP. Update MySQL or change pool ID."); |
| 54 | process.exit(1); |
| 55 | } |
| 56 | }); |
| 57 | }).then(function () { |
| 58 | global.mysql.query("INSERT INTO pools (id, ip, last_checkin, active, hostname) VALUES (?, ?, now(), ?, ?) ON DUPLICATE KEY UPDATE last_checkin=now(), active=?", |
| 59 | [global.config.pool_id, global.config.bind_ip, true, global.config.hostname, true]); |
| 60 | global.mysql.query("DELETE FROM ports WHERE pool_id = ?", [global.config.pool_id]).then(function () { |
| 61 | global.config.ports.forEach(function (port) { |
| 62 | if ('ssl' in port && port.ssl === true) { |
| 63 | global.mysql.query("INSERT INTO ports (pool_id, network_port, starting_diff, port_type, description, hidden, ip_address, ssl_port) values (?, ?, ?, ?, ?, ?, ?, 1)", |
| 64 | [global.config.pool_id, port.port, port.difficulty, port.portType, port.desc, port.hidden, global.config.bind_ip]); |
| 65 | } else { |
| 66 | global.mysql.query("INSERT INTO ports (pool_id, network_port, starting_diff, port_type, description, hidden, ip_address, ssl_port) values (?, ?, ?, ?, ?, ?, ?, 0)", |
| 67 | [global.config.pool_id, port.port, port.difficulty, port.portType, port.desc, port.hidden, global.config.bind_ip]); |
| 68 | } |
| 69 | }); |
| 70 | }); |
| 71 | }); |
| 72 | } |
| 73 | |
| 74 | // Master/Slave communication Handling |
| 75 | function messageHandler(message) { |