// _opt/messageQueue-example.js import { onMessageQueueEvent } from './pbUtils.js'; /** * Example module that listens for 'test' messages in the message_queue collection. */ export async function init(client, _config) { client.logger.info('[module:messageQueueExample] Message Queue Example module initialized'); onMessageQueueEvent(client, async (action, record) => { // Only process newly created records if (action !== 'create') return; // Only process messages meant for this client if (record.destination !== client.config.id) return; // Only handle test dataType if (record.dataType !== 'test') return; // At this point we have a test message for us client.logger.info('[module:messageQueueExample] Test message received'); // Delete the processed message from the queue try { await client.pb.deleteMessageQueue(record.id); client.logger.debug(`[module:messageQueueExample] Deleted message_queue record ${record.id}`); } catch (err) { client.logger.error(`[module:messageQueueExample] Failed to delete message_queue record ${record.id}: ${err.message}`); } }); }