надеюсь, что у вас будет потрясающий день.Аварии CasperJS - их можно избежать при обновлении или восстановлении?
Я использую КасперСШ в течение нескольких дней (непрерывно) через 100 000 ссылок.
Для каждых 500 или около того, casperJS аварийно падает. Однако при перезагрузке и запуске с последней ссылки он продолжается еще на 500.
Мне было интересно, если кто-нибудь знает об эффективном способе, я мог бы обновить или закрыть & reinstance casperjs, чтобы избежать этого выгорания? Я думал о выходе() в паре с ожиданием, но очень увлечен мыслями!
Сценарий похож:
var casper = require('casper').create({
verbose: true,
logLevel: 'error',
pageSettings: {
loadImages: false,
loadPlugins: true,
userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11'
},
clientScripts: ['vendor/jquery.min.js', 'vendor/lodash.js'],
viewportSize: {
width: 1600,
height:1000
}
});
var linkArray = [ // Includes 100,000 + links ]
function inspectUrl(url) {
casper.thenOpen(url, function() {
title = this.getPageTitle();
bodyText = this.fetchText('body');
// Includes a bunch of other tasks to do.
}
casper.start('https://www.google.com.au', function() {
console.log('Booting up CasperJS...');
});
casper.then(function() {
for (var i = 0; i < linkArray.length; i++) {
inspectUrl(linkArray[i]);
};
});
casper.run()
есть любой тип ошибки/отладки/журналирования информации, которую вы имеете в наличии, когда он выходит из строя? вам может быть лучше найти корень проблемы – user2079802
Отрицательный, phantomjs просто падает. Я console.log каждый заголовок ресурса, так что, если это конкретный запрос, вызывающий зависание, я смогу работать над этим. Вместо этого, похоже, это проблема памяти. – jakequade
Я нашел вариант, но никогда не тестировал его самостоятельно на github: https://github.com/casperjs/casperjs/pull/826#issuecomment-34950562 – dasmelch