Phase 1: lock cron, reload chaud, argon2, providers, IMDb lookup, cache LRU, /health, /metrics, rate limit, UI dark, biome
This commit is contained in:
@@ -9,44 +9,36 @@
|
||||
//
|
||||
// Writes cron.txt at start/end (mirrors cron.sh).
|
||||
|
||||
import { writeFileSync, appendFileSync } from 'node:fs';
|
||||
import { CRON_TXT } from '../config.js';
|
||||
import { appendFileSync, writeFileSync } from 'node:fs';
|
||||
import { join } from 'node:path';
|
||||
import { CRON_TXT, ROOT } from '../config.js';
|
||||
import { acquireLock } from '../lib/lockFile.js';
|
||||
import { buildAmbiguity } from './ambiguity.js';
|
||||
import { buildSearch } from './buildSearch.js';
|
||||
import { syncImdbRatings } from './imdbRatings.js';
|
||||
import { syncExports } from './tmdbExports.js';
|
||||
import { syncType as syncTmdb } from './tmdbSync.js';
|
||||
import { syncType as syncJustwatch } from './justwatchSync.js';
|
||||
import { buildMapping } from './tmdb2imdb.js';
|
||||
import { buildSearch } from './buildSearch.js';
|
||||
import { buildAmbiguity } from './ambiguity.js';
|
||||
import { syncExports } from './tmdbExports.js';
|
||||
import { syncType as syncTmdb } from './tmdbSync.js';
|
||||
|
||||
const LOCK_PATH = join(ROOT, '.cron.lock');
|
||||
|
||||
function dateStamp() {
|
||||
return new Date().toString();
|
||||
}
|
||||
|
||||
export async function runAll() {
|
||||
acquireLock(LOCK_PATH);
|
||||
writeFileSync(CRON_TXT, `Started At ${dateStamp()}\n`);
|
||||
|
||||
await syncImdbRatings();
|
||||
await syncExports();
|
||||
|
||||
await Promise.all([
|
||||
syncTmdb('movie'),
|
||||
syncTmdb('tv'),
|
||||
syncJustwatch('movie'),
|
||||
syncJustwatch('tv'),
|
||||
]);
|
||||
await Promise.all([syncTmdb('movie'), syncTmdb('tv'), syncJustwatch('movie'), syncJustwatch('tv')]);
|
||||
|
||||
await Promise.all([
|
||||
buildMapping('movie'),
|
||||
buildMapping('tv'),
|
||||
buildSearch('movie'),
|
||||
buildSearch('tv'),
|
||||
]);
|
||||
await Promise.all([buildMapping('movie'), buildMapping('tv'), buildSearch('movie'), buildSearch('tv')]);
|
||||
|
||||
await Promise.all([
|
||||
buildAmbiguity('movie'),
|
||||
buildAmbiguity('tv'),
|
||||
]);
|
||||
await Promise.all([buildAmbiguity('movie'), buildAmbiguity('tv')]);
|
||||
|
||||
appendFileSync(CRON_TXT, `Finished At ${dateStamp()}\n`);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user