The communications platform that puts data protection first.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Rocket.Chat/ee/apps/queue-worker/src/service.ts

39 lines
1.0 KiB

import { api, getConnection, getTrashCollection } from '@rocket.chat/core-services';
import { Logger } from '@rocket.chat/logger';
import { registerServiceModels } from '@rocket.chat/models';
import { startBroker } from '@rocket.chat/network-broker';
import { startTracing } from '@rocket.chat/tracing';
import polka from 'polka';
const PORT = process.env.PORT || 3038;
(async () => {
const { db, client } = await getConnection();
startTracing({ service: 'queue-worker', db: client });
registerServiceModels(db, await getTrashCollection());
api.setBroker(startBroker());
// need to import service after models are registeredpackagfe
const { QueueWorker } = await import('@rocket.chat/omnichannel-services');
api.registerService(new QueueWorker(db, Logger));
await api.start();
polka()
.get('/health', async function (_req, res) {
try {
await api.nodeList();
res.end('ok');
} catch (err) {
console.error('Service not healthy', err);
res.writeHead(500);
res.end('not healthy');
}
})
.listen(PORT);
})();