Bugfix: broken feeds no longer cause the entire build to fail
parent
4f7cdf1350
commit
0bdcaf2858
|
@ -38,7 +38,7 @@ async function do_feeds() {
|
||||||
data: await pReflect(fetch_feed(feed.feed_uri))
|
data: await pReflect(fetch_feed(feed.feed_uri))
|
||||||
} }));
|
} }));
|
||||||
const feed_data_ok = feed_data.filter(el => {
|
const feed_data_ok = feed_data.filter(el => {
|
||||||
return el.data.isFulfilled
|
return el.data.isFulfilled && el.data.value != null
|
||||||
})
|
})
|
||||||
.map((feed) => {
|
.map((feed) => {
|
||||||
feed.data = feed.data.value;
|
feed.data = feed.data.value;
|
||||||
|
@ -46,7 +46,9 @@ async function do_feeds() {
|
||||||
console.log("FEED", feed.data);
|
console.log("FEED", feed.data);
|
||||||
return feed;
|
return feed;
|
||||||
});
|
});
|
||||||
global.feed_authors_error = feed_data.filter(el => el.data.isRejected)
|
|
||||||
|
global.feed_authors_error = feed_data
|
||||||
|
.filter(el => el.data.isRejected|| el.data.value === null)
|
||||||
.map(el => el.author_name);
|
.map(el => el.author_name);
|
||||||
|
|
||||||
global.feed_items = [].concat(...feed_data_ok.map(feed => feed.data.items.map(item => {
|
global.feed_items = [].concat(...feed_data_ok.map(feed => feed.data.items.map(item => {
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
const fetch_stream = require("./fetch_stream.js");
|
const fetch_stream = require("./fetch_stream.js");
|
||||||
const FeedMe = require("feedme");
|
const FeedMe = require("feedme");
|
||||||
const events = require("events");
|
const events = require("events");
|
||||||
|
const util = require("util");
|
||||||
|
|
||||||
function do_parse(stream) {
|
function do_parse(stream) {
|
||||||
return new Promise(function(resolve, reject) {
|
return new Promise(function(resolve, reject) {
|
||||||
|
@ -16,9 +17,13 @@ function do_parse(stream) {
|
||||||
|
|
||||||
async function fetch_feed(url) {
|
async function fetch_feed(url) {
|
||||||
let start = new Date();
|
let start = new Date();
|
||||||
let result = await do_parse(
|
const fetch_result = await fetch_stream(url);
|
||||||
await fetch_stream(url)
|
if(fetch_result.statusCode < 200 || fetch_result.statusCode >= 300) {
|
||||||
);
|
console.error(`FETCH ERROR ${new Date() - start}ms ${fetch_result.statusCode} ${url}`);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
let result = await do_parse(fetch_result);
|
||||||
|
|
||||||
console.log(`FETCH ${new Date() - start}ms ${url}`);
|
console.log(`FETCH ${new Date() - start}ms ${url}`);
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
|
|
Loading…
Reference in New Issue