mirror of
https://github.com/knightcrawler-stremio/knightcrawler.git
synced 2024-12-20 03:29:51 +00:00
[scraper] update seeders for not found providers
This commit is contained in:
@@ -7,6 +7,7 @@ const { updateTorrentSeeders } = require('../lib/torrentEntries')
|
|||||||
|
|
||||||
const DELAY_MS = 15 * 1000; // 15 seconds
|
const DELAY_MS = 15 * 1000; // 15 seconds
|
||||||
const TIMEOUT_MS = 30 * 1000 // 30 seconds
|
const TIMEOUT_MS = 30 * 1000 // 30 seconds
|
||||||
|
const FALLBACK_SCRAPER = { updateSeeders: () => [] };
|
||||||
const limiter = new Bottleneck({ maxConcurrent: 20, minTime: 250 });
|
const limiter = new Bottleneck({ maxConcurrent: 20, minTime: 250 });
|
||||||
const updateLimiter = new Bottleneck({ maxConcurrent: 5 });
|
const updateLimiter = new Bottleneck({ maxConcurrent: 5 });
|
||||||
const forceSeedersLimiter = new Bottleneck({ maxConcurrent: 5 });
|
const forceSeedersLimiter = new Bottleneck({ maxConcurrent: 5 });
|
||||||
@@ -25,11 +26,9 @@ function scheduleUpdateSeeders() {
|
|||||||
|
|
||||||
async function _updateSeeders(torrent) {
|
async function _updateSeeders(torrent) {
|
||||||
const provider = await scrapers.find(provider => provider.name === torrent.provider);
|
const provider = await scrapers.find(provider => provider.name === torrent.provider);
|
||||||
if (!provider) {
|
const scraper = provider ? provider.scraper : FALLBACK_SCRAPER;
|
||||||
console.log(`No provider found for ${torrent.provider} [${torrent.infoHash}]`)
|
|
||||||
return Promise.resolve([]);
|
const updatedTorrents = await timeout(TIMEOUT_MS, scraper.updateSeeders(torrent, getImdbIdsMethod(torrent)))
|
||||||
}
|
|
||||||
const updatedTorrents = await timeout(TIMEOUT_MS, provider.scraper.updateSeeders(torrent, getImdbIdsMethod(torrent)))
|
|
||||||
.then(updated => Array.isArray(updated) ? updated : [updated])
|
.then(updated => Array.isArray(updated) ? updated : [updated])
|
||||||
.catch(error => {
|
.catch(error => {
|
||||||
console.warn(`Failed seeders update ${torrent.provider} [${torrent.infoHash}]: `, error)
|
console.warn(`Failed seeders update ${torrent.provider} [${torrent.infoHash}]: `, error)
|
||||||
|
|||||||
Reference in New Issue
Block a user