I've been struggling to get it working. this is what I have so far
server.ts
function startWorker() {
const worker = new Worker('../src/workers/worker.ts')
worker.on('message', message => {
console.log(`Message from worker: ${message.status} ${message.details}`)
})
worker.on('error', err => {
console.error(`Worker exited with error: ${err}`)
})
worker.on('exit', code => {
console.log(`Worker stopped with exit code ${code}`)
})
worker.postMessage('start')
}
//triggered after payload is initialised
startWorker()
worker.ts
const payload = require('payload')
const initialisePyaload = async () => {
try {
await payload.init({
secret: PAYLOAD_SECRET,
mongoUrl: DATABASE_URI,
local: true,
express: null,
})
} catch (e) {
throw new Error(e)
}
}
initialisePyaload()
parentPort.postMessage({
status: 'Task Ended -',
details: `threadId is ${threadId}`,
})
parentPort.on('message', msg => {
console.log('Message received from main thread', msg)
})
I keep getting this error when I have payload present
Worker exited with error: Error: SyntaxError: Cannot use import statement outside a module
Worker stopped with exit code 1