Я хочу знать, правилен ли следующий скрипт JS (серверная сторона) или нет, потому что он требует слишком много ресурсов ЦП. Работа cron
работу таким образом.Node.js - работа cron с процессом PHP
Когда сервер запускает PHP каждую секунду (через задание cron
), скрипт PHP (abc123.php) будет подключаться к базе данных и возвращать результат данных браузеру клиента через сокет. Я хочу, чтобы каждый пользователь мог видеть в реальном времени последний результат из своего браузера.
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var cronjob = require('cron').CronJob;
var runner = require("child_process");
io.on('connection', function (socket) {
var myJob = new cronjob('* * * * * *', function() {
var phpScriptPath = "/home/domain/public_html/abc123.php";
runner.exec("php " + phpScriptPath, function(err, phpResponse, stderr) {
socket.send(phpResponse);
});
}, null, true, 'Asia/Kuala_Lumpur');
myJob.start();
});
Хорошо, спасибо за совет. Но я также сделал свободный код памяти с некоторым контролем (не будет запускать php, когда задание cron не завершает работу в последнюю секунду) из этого php. Надеюсь, он не слишком быстро использует слишком много процессора с памятью. – Jun