Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (Symbol as any).asyncIterator = Symbol.asyncIterator || Symbol.for("Symbol.asyncIterator");
- import * as Redis from 'ioredis';
- import * as Mongo from 'mongodb';
- import { FilmlistManager } from './entry-source/filmlist/filmlist-manager';
- import { RedisDatastoreProvider } from './datastore/redis';
- import { MediathekViewWebVerteilerFilmlistRepository } from './entry-source/filmlist/repository';
- import { RedisLockProvider } from './lock/redis';
- import { QueueProvider } from './queue';
- import { AsyncEnumerable } from './common/enumerable/async-enumerable';
- import { now } from './common/utils';
- import { Serializer, Serializable } from './serializer';
- import { BullQueueProvider } from './queue/bull/provider';
- import { DistributedLoopProvider } from './distributed-loop/index';
- import { FilmlistEntrySource } from './entry-source/filmlist/filmlist-entry-source';
- import { Filmlist } from './entry-source/filmlist/filmlist';
- import { HighPrecisionTimer, measureTime, EventLoopWatcher } from './utils/index';
- import { MongoEntryRepository } from './repository/mongo/entry-repository';
- import { EntriesImporter } from './entries-importer/importer';
- import { Keys } from './keys';
- import { DataType } from './datastore/index';
- const watcher = new EventLoopWatcher(1000);
- watcher.watch(0).subscribe(console.log);
- (async () => {
- try {
- Serializer.registerPrototype(Filmlist)
- const redis = new Redis();
- const mongo = await Mongo.MongoClient.connect('mongodb://localhost:27017');
- const db = mongo.db('mediathekviewweb');
- const entriesCollection = db.collection('entries');
- const datastoreProvider = new RedisDatastoreProvider(redis);
- const lockProvider = new RedisLockProvider(redis);
- const filmlistRepository = new MediathekViewWebVerteilerFilmlistRepository('https://verteiler.mediathekviewweb.de/');
- const loopProvider = new DistributedLoopProvider(lockProvider);
- const queueProvider = new BullQueueProvider();
- const entryRepository = new MongoEntryRepository(entriesCollection);
- const filmlistManager = new FilmlistManager(datastoreProvider, filmlistRepository, loopProvider, queueProvider);
- filmlistManager.run();
- const filmlistEntrySource = new FilmlistEntrySource(datastoreProvider, queueProvider);
- filmlistEntrySource.run();
- const importer = new EntriesImporter(entryRepository, lockProvider, datastoreProvider);
- importer.import(filmlistEntrySource);
- } catch (error) {
- console.log(error);
- }
- })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement