Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | 61x 61x 2x 2x 2x 2x 2x 4x 4x 1x 1x 3x 3x 1x 3x 3x 2x 1x 1x | import path from 'path'; import { PATH_TEMP } from '../../../root'; import WinstonLogger from '../../../config/winston'; import Agents from '../../web_socket/agents/agents'; const { Worker } = require('worker_threads'); const workerMessage = ( name = 'Print Worker', workerMessageData = null, resolve = () => false, reject = () => false ) => { try { Eif (typeof workerMessageData === 'object') { Eif (workerMessageData.success) { resolve(true); return; } if (!workerMessageData.success && workerMessageData.message) { WinstonLogger.error(`${name}: ${workerMessageData.message}`); } reject(); return; } if (workerMessageData === 'done') resolve(true); else WinstonLogger.error(`${name}: ${JSON.stringify(workerMessageData)}`); } catch (e) { /* empty */ } }; async function printZPL(printer, label, type = 'ean', agentSocket = null) { return new Promise((resolve, reject) => { if (agentSocket) { Agents.sendPrinterEvent(agentSocket, { printer, label, type }) .then((message) => { workerMessage('printZPLAgent', message, resolve, reject); }) .catch((err) => { if (err) { reject( new Error(`Worker stopped with exit code ${JSON.stringify(err)}`) ); } else { resolve(true); } }); } else { const worker = new Worker(path.resolve(__dirname, 'printZPLWorker.js'), { workerData: { printer, label, type, PATH_TEMP }, }); worker.on('message', (message) => workerMessage('printZPLWorker', message, resolve) ); worker.on('error', reject); worker.on('exit', (code) => { if (code !== 0) { reject(new Error(`Worker stopped with exit code ${code}`)); } else { resolve(true); } }); } }); } export default { printZPL, }; |