@514labs/moose-lib 0.6.256 → 0.6.257

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -20,6 +20,7 @@ __export(commons_exports, {
20
20
  antiCachePath: () => antiCachePath,
21
21
  cliLog: () => cliLog,
22
22
  compilerLog: () => compilerLog,
23
+ createProducerConfig: () => createProducerConfig,
23
24
  getClickhouseClient: () => getClickhouseClient,
24
25
  getFileName: () => getFileName,
25
26
  getKafkaClient: () => getKafkaClient,
@@ -45,18 +46,25 @@ function isTruthy(value) {
45
46
  function mapTstoJs(filePath) {
46
47
  return filePath.replace(/\.ts$/, ".js").replace(/\.cts$/, ".cjs").replace(/\.mts$/, ".mjs");
47
48
  }
48
- async function getKafkaProducer(cfg, logger) {
49
- const kafka = await getKafkaClient(cfg, logger);
50
- const producer = kafka.producer({
49
+ function createProducerConfig(maxMessageBytes) {
50
+ return {
51
51
  kafkaJS: {
52
- idempotent: true,
52
+ idempotent: false,
53
+ // Not needed for at-least-once delivery
53
54
  acks: ACKs,
54
55
  retry: {
55
56
  retries: MAX_RETRIES_PRODUCER,
56
57
  maxRetryTime: MAX_RETRY_TIME_MS
57
58
  }
58
- }
59
- });
59
+ },
60
+ "linger.ms": 0,
61
+ // This is to make sure at least once delivery with immediate feedback on the send
62
+ ...maxMessageBytes && { "message.max.bytes": maxMessageBytes }
63
+ };
64
+ }
65
+ async function getKafkaProducer(cfg, logger, maxMessageBytes) {
66
+ const kafka = await getKafkaClient(cfg, logger);
67
+ const producer = kafka.producer(createProducerConfig(maxMessageBytes));
60
68
  await producer.connect();
61
69
  return producer;
62
70
  }