mirror of
https://gitlab.com/MrFry/mrfrys-node-server
synced 2025-04-01 20:24:18 +02:00
Threads store their own qdb. It gets updated when new questions are added to reduce message sizes between threads
This commit is contained in:
parent
906ab8ee62
commit
68dcbff846
5 changed files with 56 additions and 141 deletions
|
@ -39,7 +39,7 @@ export function doALongTask(obj: any): Promise<any> {
|
|||
})
|
||||
}
|
||||
|
||||
export function initWorkerPool(): void {
|
||||
export function initWorkerPool(initData: any): void {
|
||||
if (workers && pool) {
|
||||
logger.Log('WORKER AND POOL ALREADY EXISTS', logger.GetColor('redbg'))
|
||||
return
|
||||
|
@ -48,7 +48,7 @@ export function initWorkerPool(): void {
|
|||
const factory = {
|
||||
create: function() {
|
||||
const currInd = workers.length
|
||||
const worker = getAWorker(currInd)
|
||||
const worker = getAWorker(currInd, initData)
|
||||
workers.push(worker)
|
||||
return {
|
||||
worker: worker,
|
||||
|
@ -71,21 +71,19 @@ export function initWorkerPool(): void {
|
|||
pool = genericPool.createPool(factory, opts)
|
||||
}
|
||||
|
||||
export function msgAll(data: any): void {
|
||||
export function msgAllWorker(data: any): void {
|
||||
workers.forEach((worker) => {
|
||||
worker.postMessage({
|
||||
type: 'update',
|
||||
data,
|
||||
})
|
||||
worker.postMessage(data)
|
||||
})
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
function getAWorker(i) {
|
||||
function getAWorker(i, initData) {
|
||||
const worker = workerTs(workerFile, {
|
||||
workerData: {
|
||||
workerIndex: i,
|
||||
initData: initData,
|
||||
},
|
||||
})
|
||||
|
||||
|
@ -105,7 +103,10 @@ function getAWorker(i) {
|
|||
})
|
||||
|
||||
worker.on('exit', (code) => {
|
||||
logger.Log(`[MAIN]: worker #${i} exit code: ${code}`)
|
||||
logger.Log(
|
||||
`[MAIN]: worker #${i} exit code: ${code}`,
|
||||
code === 0 ? logger.GetColor('redbg') : logger.GetColor('green')
|
||||
)
|
||||
})
|
||||
return worker
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue