Organize directories
This commit is contained in:
parent
8a91c9b89b
commit
4898382f78
433 changed files with 0 additions and 0 deletions
53
apps/metamigo-worker/index.ts
Normal file
53
apps/metamigo-worker/index.ts
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
import * as Worker from "graphile-worker";
|
||||
import { defState } from "@digiresilience/montar";
|
||||
import config from "config";
|
||||
import { initPgp } from "./db";
|
||||
import logger from "./logger";
|
||||
import workerUtils from "./utils";
|
||||
import { assertFfmpegAvailable } from "./lib/media-convert";
|
||||
|
||||
const logFactory = (scope: any) => (level: any, message: any, meta: any) => {
|
||||
const pinoLevel = level === "warning" ? "warn" : level;
|
||||
const childLogger = logger.child({ scope });
|
||||
if (meta) childLogger[pinoLevel](meta, message);
|
||||
else childLogger[pinoLevel](message);
|
||||
};
|
||||
|
||||
export const configWorker = async (): Promise<Worker.RunnerOptions> => {
|
||||
const { connection, concurrency, pollInterval } = config.worker;
|
||||
logger.info({ concurrency, pollInterval }, "Starting worker");
|
||||
return {
|
||||
concurrency,
|
||||
pollInterval,
|
||||
logger: new Worker.Logger(logFactory),
|
||||
connectionString: connection,
|
||||
// eslint-disable-next-line unicorn/prefer-module
|
||||
taskDirectory: `${__dirname}/tasks`,
|
||||
};
|
||||
};
|
||||
|
||||
export const startWorker = async (): Promise<Worker.Runner> => {
|
||||
// ensure ffmpeg is installed and working
|
||||
await assertFfmpegAvailable();
|
||||
logger.info("ffmpeg found");
|
||||
|
||||
await workerUtils.migrate();
|
||||
logger.info("worker database migrated");
|
||||
|
||||
initPgp();
|
||||
|
||||
const workerConfig = await configWorker();
|
||||
const worker = await Worker.run(workerConfig);
|
||||
return worker;
|
||||
};
|
||||
|
||||
export const stopWorker = async (): Promise<void> => {
|
||||
await worker.stop();
|
||||
};
|
||||
|
||||
const worker = defState("worker", {
|
||||
start: startWorker,
|
||||
stop: stopWorker,
|
||||
});
|
||||
|
||||
export default worker;
|
||||
Loading…
Add table
Add a link
Reference in a new issue