| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | 
							- import { ThreadWorker } from 'poolifier'
 
- import { kebabCase } from 'lodash-es'
 
- import path from 'node:path'
 
- import configSvc from './core/config.mjs'
 
- import logger from './core/logger.mjs'
 
- import db from './core/db.mjs'
 
- // ----------------------------------------
 
- // Init Minimal Core
 
- // ----------------------------------------
 
- const WIKI = {
 
-   IS_DEBUG: process.env.NODE_ENV === 'development',
 
-   ROOTPATH: process.cwd(),
 
-   INSTANCE_ID: 'worker',
 
-   SERVERPATH: path.join(process.cwd(), 'server'),
 
-   configSvc,
 
-   ensureDb: async () => {
 
-     if (WIKI.db) { return true }
 
-     WIKI.db = await db.init(true)
 
-     try {
 
-       await WIKI.configSvc.loadFromDb()
 
-       await WIKI.configSvc.applyFlags()
 
-     } catch (err) {
 
-       WIKI.logger.error('Database Initialization Error: ' + err.message)
 
-       if (WIKI.IS_DEBUG) {
 
-         WIKI.logger.error(err)
 
-       }
 
-       process.exit(1)
 
-     }
 
-   }
 
- }
 
- global.WIKI = WIKI
 
- await WIKI.configSvc.init(true)
 
- // ----------------------------------------
 
- // Init Logger
 
- // ----------------------------------------
 
- WIKI.logger = logger.init()
 
- // ----------------------------------------
 
- // Execute Task
 
- // ----------------------------------------
 
- export default new ThreadWorker(async (job) => {
 
-   WIKI.INSTANCE_ID = job.INSTANCE_ID
 
-   const task = (await import(`./tasks/workers/${kebabCase(job.task)}.mjs`)).task
 
-   await task(job)
 
-   return true
 
- }, { async: true })
 
 
  |