조금만 인터넷 검색을하고, 물건을 시험해보고, 문제가없는 모든 종류의 이상한 해결책을 찾아 떠난다. 제 질문은 30 초에 한 번 실행되도록 express.js- 응용 프로그램을 어떻게 설정합니까?setInterval을 Express-app로 설정하려면 어떻게해야합니까?
이 이유는 ~ 30 초마다 변하는 변수가 있기 때문에 페이지를 다시 렌더링해야합니다. "해결책"내가 올랐다는 EADDRINUSE 오류는 이전 서버와 동일한 포트에 새 서버를 만들려고하기 때문에 오류가 발생하지 않도록 여기에서해야 할 일이 있음을 이해합니다. 뭐?
내가 시도한 것을 알고 싶다면 process.exit (및 PM2가 내 앱을 다시 시작하게 함), setInterval을 의도적으로 중단하여 PM2를 다시 시작하도록 허용하고 웹 소켓을 실행하도록 모든 것을 다시 시작하기 시작했습니다. 앞뒤로 클라이언트와 서버 사이에 있지만,이 문제가 지나치게 복잡해 졌다고 생각합니다. (아마도) 문제는 표준 setInterval로 해결할 수 있습니다.
var express = require('express');
var app = express();
var ejs = require('ejs');
var config = require('./config');
app.set('view engine', 'html');
app.engine('html', ejs.renderFile);
app.get("/", function(req, res){
app.use(express.static(__dirname + '/views'));
async(function(variables) {
res.render('index',
{
// stuff to render
});
});
function async(callback) {
// several variables...
callback(variables);
}
});
app.listen(config.port, "0.0.0.0");
서버 쪽에서'setInterval'을 시도하고 있습니까? 그것은 작동하지 않습니다. 클라이언트 측에서 설정하고 눈금에 따라 데이터를 다시로드하거나 socket.io를 사용하여 서버에서 클라이언트로 데이터를 푸시하십시오. –