Вызов следующего кода в узле 4.2.0 выполняется в задании cron узла, а не через терминал. Сайт, на который я запрашиваю, - http://www.milb.com/index.jsp?sid=t402.Узел 4.2.0 phantom stdout: NETWORK_ERR: XMLHttpRequest Exception 101: Произошла сетевая ошибка при синхронных запросах
module.exports.dynamicRequest = function(url, callback) {
var makeDynamicRequest = function(attempt) {
if (attempt === 4) {
svghost.delPhantom();
return callback(new Error('Phantom had 3 failures'));
}
svghost.getPhantom(function(err, ph) {
if (err) {
console.log(err.stack);
setTimeout(function() {
ph.exit();
svghost.delPhantom();
attempt++;
makeDynamicRequest(attempt);
}, Math.pow(2, attempt) * 300);
} else {
ph.createPage(function(page) {
page.open(url, function(status) {
if (status === 'success') {
page.get('content', function(content) {
ph.exit();
svghost.delPhantom();
callback(null, content);
});
} else {
ph.exit();
svghost.delPhantom();
setTimeout(function() {
attempt++;
makeDynamicRequest(attempt);
}, Math.pow(2, attempt) * 300);
}
});
});
}
});
};
makeDynamicRequest(1);
};
svghost это простая фантом оболочка, которая рекурсивно пытается не создать объект фантомное пока успешно. Я уверен, что svghost не проблема. Это работает локально 100% времени, но я вижу эту ошибку, когда хрон работает на нашем сервере: phantom stdout: NETWORK_ERR: XMLHttpRequest Exception 101: A network error occurred in synchronous requests.
Вот трассировки стека:
phantom stdout: /srv/apps/scraper/node_modules/spoton/node_modules/phantom/shim.js:7608 in send
/srv/apps/scraper/node_modules/spoton/node_modules/phantom/shim.js:7608 in _start
/srv/apps/scraper/node_modules/spoton/node_modules/phantom/shim.js:7635
Посмотрите на [это] (https://github.com/amir20/phantomjs-node/issues/345), оно похоже связано и/или helpul. –