mirror of
https://github.com/Mintplex-Labs/bree.git
synced 2026-07-01 20:04:39 -04:00
33 lines
851 B
JavaScript
33 lines
851 B
JavaScript
const path = require('node:path');
|
|
const { once } = require('node:events');
|
|
const test = require('ava');
|
|
const Bree = require('../../src');
|
|
|
|
const root = path.join(__dirname, '../jobs');
|
|
|
|
test('job terminates after closeWorkerAfterMs and allows run after', async (t) => {
|
|
t.plan(4);
|
|
|
|
const logger = {};
|
|
logger.info = () => {};
|
|
logger.error = () => {};
|
|
|
|
const bree = new Bree({
|
|
root,
|
|
jobs: [{ name: 'long', closeWorkerAfterMs: 2000 }],
|
|
logger
|
|
});
|
|
|
|
await bree.run('long');
|
|
await once(bree.workers.get('long'), 'online');
|
|
t.true(bree.closeWorkerAfterMs.has('long'));
|
|
|
|
const [code] = await once(bree.workers.get('long'), 'exit');
|
|
t.is(code, 1);
|
|
t.false(bree.closeWorkerAfterMs.has('long'));
|
|
|
|
await bree.run('long');
|
|
await once(bree.workers.get('long'), 'online');
|
|
t.true(bree.closeWorkerAfterMs.has('long'));
|
|
});
|