@google-cloud/pubsub 3.1.0 → 3.2.0

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.
Files changed (44) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +2 -0
  3. package/build/protos/protos.d.ts +689 -2
  4. package/build/protos/protos.js +3162 -1244
  5. package/build/protos/protos.json +17 -0
  6. package/build/src/ack-metadata.d.ts +29 -0
  7. package/build/src/ack-metadata.js +93 -0
  8. package/build/src/ack-metadata.js.map +1 -0
  9. package/build/src/exponential-retry.d.ts +66 -0
  10. package/build/src/exponential-retry.js +138 -0
  11. package/build/src/exponential-retry.js.map +1 -0
  12. package/build/src/index.d.ts +1 -1
  13. package/build/src/index.js +3 -1
  14. package/build/src/index.js.map +1 -1
  15. package/build/src/message-queues.d.ts +85 -12
  16. package/build/src/message-queues.js +279 -19
  17. package/build/src/message-queues.js.map +1 -1
  18. package/build/src/message-stream.d.ts +7 -0
  19. package/build/src/message-stream.js +14 -0
  20. package/build/src/message-stream.js.map +1 -1
  21. package/build/src/publisher/index.js +12 -3
  22. package/build/src/publisher/index.js.map +1 -1
  23. package/build/src/publisher/message-queues.d.ts +2 -0
  24. package/build/src/publisher/message-queues.js +16 -1
  25. package/build/src/publisher/message-queues.js.map +1 -1
  26. package/build/src/subscriber.d.ts +86 -6
  27. package/build/src/subscriber.js +168 -26
  28. package/build/src/subscriber.js.map +1 -1
  29. package/build/src/subscription.d.ts +1 -1
  30. package/build/src/subscription.js +4 -1
  31. package/build/src/subscription.js.map +1 -1
  32. package/build/src/util.d.ts +6 -0
  33. package/build/src/util.js +13 -1
  34. package/build/src/util.js.map +1 -1
  35. package/build/src/v1/publisher_client.d.ts +11 -4
  36. package/build/src/v1/publisher_client.js +62 -39
  37. package/build/src/v1/publisher_client.js.map +1 -1
  38. package/build/src/v1/schema_service_client.d.ts +11 -4
  39. package/build/src/v1/schema_service_client.js +40 -24
  40. package/build/src/v1/schema_service_client.js.map +1 -1
  41. package/build/src/v1/subscriber_client.d.ts +10 -3
  42. package/build/src/v1/subscriber_client.js +75 -48
  43. package/build/src/v1/subscriber_client.js.map +1 -1
  44. package/package.json +6 -5
@@ -16,22 +16,30 @@
16
16
  */
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.ModAckQueue = exports.AckQueue = exports.MessageQueue = exports.BatchError = void 0;
19
+ const google_gax_1 = require("google-gax");
19
20
  const defer = require("p-defer");
21
+ const ack_metadata_1 = require("./ack-metadata");
22
+ const exponential_retry_1 = require("./exponential-retry");
23
+ const subscriber_1 = require("./subscriber");
24
+ const temporal_1 = require("./temporal");
25
+ const util_1 = require("./util");
20
26
  /**
21
27
  * Error class used to signal a batch failure.
22
28
  *
29
+ * Now that we have exactly-once delivery subscriptions, we'll only
30
+ * throw one of these if there was an unknown error.
31
+ *
23
32
  * @class
24
33
  *
25
34
  * @param {string} message The error message.
26
- * @param {ServiceError} err The grpc service error.
35
+ * @param {GoogleError} err The grpc error.
27
36
  */
28
37
  class BatchError extends Error {
29
38
  constructor(err, ackIds, rpc) {
30
39
  super(`Failed to "${rpc}" for ${ackIds.length} message(s). Reason: ${process.env.DEBUG_GRPC ? err.stack : err.message}`);
31
40
  this.ackIds = ackIds;
32
41
  this.code = err.code;
33
- this.details = err.details;
34
- this.metadata = err.metadata;
42
+ this.details = err.message;
35
43
  }
36
44
  }
37
45
  exports.BatchError = BatchError;
@@ -56,12 +64,43 @@ exports.BatchError = BatchError;
56
64
  */
57
65
  class MessageQueue {
58
66
  constructor(sub, options = {}) {
67
+ this._closed = false;
59
68
  this.numPendingRequests = 0;
60
69
  this.numInFlightRequests = 0;
70
+ this.numInRetryRequests = 0;
61
71
  this._requests = [];
62
72
  this._subscriber = sub;
73
+ this._retrier = new exponential_retry_1.ExponentialRetry(temporal_1.Duration.from({ seconds: 1 }), temporal_1.Duration.from({ seconds: 64 }));
63
74
  this.setOptions(options);
64
75
  }
76
+ /**
77
+ * Shuts down this message queue gracefully. Any acks/modAcks pending in
78
+ * the queue or waiting for retry will be removed. If exactly-once delivery
79
+ * is enabled on the subscription, we'll send permanent failures to
80
+ * anyone waiting on completions; otherwise we'll send successes.
81
+ *
82
+ * If a flush is desired first, do it before calling close().
83
+ *
84
+ * @private
85
+ */
86
+ close() {
87
+ let requests = this._requests;
88
+ this._requests = [];
89
+ this.numInFlightRequests = this.numPendingRequests = 0;
90
+ requests = requests.concat(this._retrier.close());
91
+ const isExactlyOnceDelivery = this._subscriber.isExactlyOnceDelivery;
92
+ requests.forEach(r => {
93
+ if (r.responsePromise) {
94
+ if (isExactlyOnceDelivery) {
95
+ r.responsePromise.reject(new subscriber_1.AckError(subscriber_1.AckResponses.Invalid, 'Subscriber closed'));
96
+ }
97
+ else {
98
+ r.responsePromise.resolve();
99
+ }
100
+ }
101
+ });
102
+ this._closed = true;
103
+ }
65
104
  /**
66
105
  * Gets the default buffer time in ms.
67
106
  *
@@ -79,16 +118,63 @@ class MessageQueue {
79
118
  * @private
80
119
  */
81
120
  add({ ackId }, deadline) {
121
+ if (this._closed) {
122
+ if (this._subscriber.isExactlyOnceDelivery) {
123
+ throw new subscriber_1.AckError(subscriber_1.AckResponses.Invalid, 'Subscriber closed');
124
+ }
125
+ else {
126
+ return Promise.resolve();
127
+ }
128
+ }
82
129
  const { maxMessages, maxMilliseconds } = this._options;
83
- this._requests.push([ackId, deadline]);
84
- this.numPendingRequests += 1;
85
- this.numInFlightRequests += 1;
130
+ const responsePromise = defer();
131
+ this._requests.push({
132
+ ackId,
133
+ deadline,
134
+ responsePromise,
135
+ retryCount: 0,
136
+ });
137
+ this.numPendingRequests++;
138
+ this.numInFlightRequests++;
86
139
  if (this._requests.length >= maxMessages) {
87
140
  this.flush();
88
141
  }
89
142
  else if (!this._timer) {
90
143
  this._timer = setTimeout(() => this.flush(), maxMilliseconds);
91
144
  }
145
+ return responsePromise.promise;
146
+ }
147
+ /**
148
+ * Retry handler for acks/modacks that have transient failures. Unless
149
+ * it's passed the final deadline, we will just re-queue it for sending.
150
+ *
151
+ * @private
152
+ */
153
+ handleRetry(message, totalTime) {
154
+ var _a;
155
+ // Has it been too long?
156
+ if (totalTime.totalOf('minute') >= 10 || this.shouldFailEarly(message)) {
157
+ (_a = message.responsePromise) === null || _a === void 0 ? void 0 : _a.reject(new subscriber_1.AckError(subscriber_1.AckResponses.Invalid, 'Retried for too long'));
158
+ return;
159
+ }
160
+ // Just throw it in for another round of processing on the next batch.
161
+ this._requests.push(message);
162
+ this.numPendingRequests++;
163
+ this.numInFlightRequests++;
164
+ this.numInRetryRequests--;
165
+ // Make sure we actually do have another batch scheduled.
166
+ if (!this._timer) {
167
+ this._timer = setTimeout(() => this.flush(), this._options.maxMilliseconds);
168
+ }
169
+ }
170
+ /**
171
+ * This hook lets a subclass tell the retry handler to go ahead and fail early.
172
+ *
173
+ * @private
174
+ */
175
+ shouldFailEarly(message) {
176
+ message;
177
+ return false;
92
178
  }
93
179
  /**
94
180
  * Sends a batch of messages.
@@ -106,7 +192,13 @@ class MessageQueue {
106
192
  this.numPendingRequests -= batchSize;
107
193
  delete this._onFlush;
108
194
  try {
109
- await this._sendBatch(batch);
195
+ const toRetry = await this._sendBatch(batch);
196
+ // We'll get back anything that needs a retry for transient errors.
197
+ for (const m of toRetry) {
198
+ this.numInRetryRequests++;
199
+ m.retryCount++;
200
+ this._retrier.retryLater(m, this.handleRetry.bind(this));
201
+ }
110
202
  }
111
203
  catch (e) {
112
204
  // These queues are used for ack and modAck messages, which should
@@ -118,7 +210,9 @@ class MessageQueue {
118
210
  if (deferred) {
119
211
  deferred.resolve();
120
212
  }
121
- if (this.numInFlightRequests <= 0 && this._onDrain) {
213
+ if (this.numInFlightRequests <= 0 &&
214
+ this.numInRetryRequests <= 0 &&
215
+ this._onDrain) {
122
216
  this._onDrain.resolve();
123
217
  delete this._onDrain;
124
218
  }
@@ -154,6 +248,115 @@ class MessageQueue {
154
248
  const defaults = { maxMessages: 3000, maxMilliseconds: 100 };
155
249
  this._options = Object.assign(defaults, options);
156
250
  }
251
+ /**
252
+ * Succeed a whole batch of Acks/Modacks for an OK RPC response.
253
+ *
254
+ * @private
255
+ */
256
+ handleAckSuccesses(batch) {
257
+ // Everyone gets a resolve!
258
+ batch.forEach(({ responsePromise }) => {
259
+ responsePromise === null || responsePromise === void 0 ? void 0 : responsePromise.resolve();
260
+ });
261
+ }
262
+ /**
263
+ * If we get an RPC failure of any kind, this will take care of deciding
264
+ * what to do for each related ack/modAck. Successful ones will have their
265
+ * Promises resolved, permanent errors will have their Promises rejected,
266
+ * and transients will be returned for retry.
267
+ *
268
+ * Note that this is only used for subscriptions with exactly-once
269
+ * delivery enabled, so _sendBatch() in the classes below take care of
270
+ * resolving errors to success; they don't make it here.
271
+ *
272
+ * @private
273
+ */
274
+ handleAckFailures(operation, batch, rpcError) {
275
+ const toSucceed = [];
276
+ const toRetry = [];
277
+ const toError = new Map([
278
+ [subscriber_1.AckResponses.PermissionDenied, []],
279
+ [subscriber_1.AckResponses.FailedPrecondition, []],
280
+ [subscriber_1.AckResponses.Other, []],
281
+ ]);
282
+ // Parse any error codes, both for the RPC call and the ErrorInfo.
283
+ const error = rpcError.code
284
+ ? (0, ack_metadata_1.processAckRpcError)(rpcError.code)
285
+ : undefined;
286
+ const codes = (0, ack_metadata_1.processAckErrorInfo)(rpcError);
287
+ for (const m of batch) {
288
+ if (codes.has(m.ackId)) {
289
+ // This ack has an ErrorInfo entry, so use that to route it.
290
+ const code = codes.get(m.ackId);
291
+ if (code.transient) {
292
+ // Transient errors get retried.
293
+ toRetry.push(m);
294
+ }
295
+ else {
296
+ // It's a permanent error.
297
+ (0, util_1.addToBucket)(toError, code.response, m);
298
+ }
299
+ }
300
+ else if (error !== undefined) {
301
+ // This ack doesn't have an ErrorInfo entry, but we do have an RPC
302
+ // error, so use that to route it.
303
+ if (error.transient) {
304
+ toRetry.push(m);
305
+ }
306
+ else {
307
+ (0, util_1.addToBucket)(toError, error.response, m);
308
+ }
309
+ }
310
+ else {
311
+ // Looks like this one worked out.
312
+ toSucceed.push(m);
313
+ }
314
+ }
315
+ // To remain consistent with previous behaviour, we will push a debug
316
+ // stream message if an unknown error happens during ack.
317
+ const others = toError.get(subscriber_1.AckResponses.Other);
318
+ if (others === null || others === void 0 ? void 0 : others.length) {
319
+ const otherIds = others.map(e => e.ackId);
320
+ this._subscriber.emit('debug', new BatchError(rpcError, otherIds, operation));
321
+ }
322
+ // Take care of following up on all the Promises.
323
+ toSucceed.forEach(m => {
324
+ var _a;
325
+ (_a = m.responsePromise) === null || _a === void 0 ? void 0 : _a.resolve();
326
+ });
327
+ for (const e of toError.entries()) {
328
+ e[1].forEach(m => {
329
+ var _a;
330
+ const exc = new subscriber_1.AckError(e[0], rpcError.message);
331
+ (_a = m.responsePromise) === null || _a === void 0 ? void 0 : _a.reject(exc);
332
+ });
333
+ }
334
+ return {
335
+ toError,
336
+ toRetry,
337
+ };
338
+ }
339
+ /**
340
+ * Since we handle our own retries for ack/modAck calls when exactly-once
341
+ * delivery is enabled on a subscription, we conditionally need to disable
342
+ * the gax retries. This returns an appropriate CallOptions for the
343
+ * subclasses to pass down.
344
+ *
345
+ * @private
346
+ */
347
+ getCallOptions() {
348
+ let callOptions = this._options.callOptions;
349
+ if (this._subscriber.isExactlyOnceDelivery) {
350
+ // If exactly-once-delivery is enabled, tell gax not to do retries for us.
351
+ callOptions = Object.assign({}, callOptions !== null && callOptions !== void 0 ? callOptions : {});
352
+ callOptions.retry = new google_gax_1.RetryOptions([], {
353
+ initialRetryDelayMillis: 0,
354
+ retryDelayMultiplier: 0,
355
+ maxRetryDelayMillis: 0,
356
+ });
357
+ }
358
+ return callOptions;
359
+ }
157
360
  }
158
361
  exports.MessageQueue = MessageQueue;
159
362
  /**
@@ -173,13 +376,42 @@ class AckQueue extends MessageQueue {
173
376
  */
174
377
  async _sendBatch(batch) {
175
378
  const client = await this._subscriber.getClient();
176
- const ackIds = batch.map(([ackId]) => ackId);
379
+ const ackIds = batch.map(({ ackId }) => ackId);
177
380
  const reqOpts = { subscription: this._subscriber.name, ackIds };
178
381
  try {
179
- await client.acknowledge(reqOpts, this._options.callOptions);
382
+ await client.acknowledge(reqOpts, this.getCallOptions());
383
+ // It's okay if these pass through since they're successful anyway.
384
+ this.handleAckSuccesses(batch);
385
+ return [];
180
386
  }
181
387
  catch (e) {
182
- throw new BatchError(e, ackIds, 'acknowledge');
388
+ // If exactly-once delivery isn't enabled, don't do error processing. We'll
389
+ // emulate previous behaviour by resolving all pending Promises with
390
+ // a success status, and then throwing a BatchError for debug logging.
391
+ if (!this._subscriber.isExactlyOnceDelivery) {
392
+ batch.forEach(m => {
393
+ var _a;
394
+ (_a = m.responsePromise) === null || _a === void 0 ? void 0 : _a.resolve();
395
+ });
396
+ throw new BatchError(e, ackIds, 'ack');
397
+ }
398
+ else {
399
+ const grpcError = e;
400
+ try {
401
+ const results = this.handleAckFailures('ack', batch, grpcError);
402
+ return results.toRetry;
403
+ }
404
+ catch (e) {
405
+ // This should only ever happen if there's a code failure.
406
+ this._subscriber.emit('debug', e);
407
+ const exc = new subscriber_1.AckError(subscriber_1.AckResponses.Other, 'Code error');
408
+ batch.forEach(m => {
409
+ var _a;
410
+ (_a = m.responsePromise) === null || _a === void 0 ? void 0 : _a.reject(exc);
411
+ });
412
+ return [];
413
+ }
414
+ }
183
415
  }
184
416
  }
185
417
  }
@@ -203,25 +435,53 @@ class ModAckQueue extends MessageQueue {
203
435
  async _sendBatch(batch) {
204
436
  const client = await this._subscriber.getClient();
205
437
  const subscription = this._subscriber.name;
206
- const modAckTable = batch.reduce((table, [ackId, deadline]) => {
207
- if (!table[deadline]) {
208
- table[deadline] = [];
438
+ const modAckTable = batch.reduce((table, message) => {
439
+ if (!table[message.deadline]) {
440
+ table[message.deadline] = [];
209
441
  }
210
- table[deadline].push(ackId);
442
+ table[message.deadline].push(message);
211
443
  return table;
212
444
  }, {});
445
+ const callOptions = this.getCallOptions();
213
446
  const modAckRequests = Object.keys(modAckTable).map(async (deadline) => {
214
- const ackIds = modAckTable[deadline];
447
+ const messages = modAckTable[deadline];
448
+ const ackIds = messages.map(m => m.ackId);
215
449
  const ackDeadlineSeconds = Number(deadline);
216
450
  const reqOpts = { subscription, ackIds, ackDeadlineSeconds };
217
451
  try {
218
- await client.modifyAckDeadline(reqOpts, this._options.callOptions);
452
+ await client.modifyAckDeadline(reqOpts, callOptions);
453
+ // It's okay if these pass through since they're successful anyway.
454
+ this.handleAckSuccesses(messages);
455
+ return [];
219
456
  }
220
457
  catch (e) {
221
- throw new BatchError(e, ackIds, 'modifyAckDeadline');
458
+ // If exactly-once delivery isn't enabled, don't do error processing. We'll
459
+ // emulate previous behaviour by resolving all pending Promises with
460
+ // a success status, and then throwing a BatchError for debug logging.
461
+ if (!this._subscriber.isExactlyOnceDelivery) {
462
+ batch.forEach(m => {
463
+ var _a;
464
+ (_a = m.responsePromise) === null || _a === void 0 ? void 0 : _a.resolve();
465
+ });
466
+ throw new BatchError(e, ackIds, 'modAck');
467
+ }
468
+ else {
469
+ const grpcError = e;
470
+ const newBatch = this.handleAckFailures('modAck', messages, grpcError);
471
+ return newBatch.toRetry;
472
+ }
222
473
  }
223
474
  });
224
- await Promise.all(modAckRequests);
475
+ // This catches the sub-failures and bubbles up anything we need to bubble.
476
+ const allNewBatches = await Promise.all(modAckRequests);
477
+ return allNewBatches.reduce((p, c) => [
478
+ ...(p !== null && p !== void 0 ? p : []),
479
+ ...c,
480
+ ]);
481
+ }
482
+ // For modacks only, we'll stop retrying after 3 tries.
483
+ shouldFailEarly(message) {
484
+ return message.retryCount >= 3;
225
485
  }
226
486
  }
227
487
  exports.ModAckQueue = ModAckQueue;
@@ -1 +1 @@
1
- {"version":3,"file":"message-queues.js","sourceRoot":"","sources":["../../src/message-queues.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message-queues.js","sourceRoot":"","sources":["../../src/message-queues.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@
17
17
  import { grpc } from 'google-gax';
18
18
  import { PassThrough } from 'stream';
19
19
  import { Subscriber } from './subscriber';
20
+ import { Duration } from './temporal';
20
21
  /**
21
22
  * Error wrapper for gRPC status objects.
22
23
  *
@@ -74,6 +75,12 @@ export declare class MessageStream extends PassThrough {
74
75
  private _streams;
75
76
  private _subscriber;
76
77
  constructor(sub: Subscriber, options?: MessageStreamOptions);
78
+ /**
79
+ * Updates the stream ack deadline with the server.
80
+ *
81
+ * @param {Duration} deadline The new deadline value to set.
82
+ */
83
+ setStreamAckDeadline(deadline: Duration): void;
77
84
  /**
78
85
  * Destroys the stream and any underlying streams.
79
86
  *
@@ -102,6 +102,20 @@ class MessageStream extends stream_1.PassThrough {
102
102
  this._keepAliveHandle = setInterval(() => this._keepAlive(), KEEP_ALIVE_INTERVAL);
103
103
  this._keepAliveHandle.unref();
104
104
  }
105
+ /**
106
+ * Updates the stream ack deadline with the server.
107
+ *
108
+ * @param {Duration} deadline The new deadline value to set.
109
+ */
110
+ setStreamAckDeadline(deadline) {
111
+ const request = {
112
+ streamAckDeadlineSeconds: deadline.totalOf('second'),
113
+ };
114
+ for (const stream of this._streams.keys()) {
115
+ // We don't need a callback on this one, it's advisory.
116
+ stream.write(request);
117
+ }
118
+ }
105
119
  /**
106
120
  * Destroys the stream and any underlying streams.
107
121
  *
@@ -1 +1 @@
1
- {"version":3,"file":"message-stream.js","sourceRoot":"","sources":["../../src/message-stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message-stream.js","sourceRoot":"","sources":["../../src/message-stream.ts"],"names":[],"mappings":"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"}
@@ -67,10 +67,19 @@ class Publisher {
67
67
  }
68
68
  flush(callback) {
69
69
  const definedCallback = callback ? callback : () => { };
70
- const publishes = [(0, promisify_1.promisify)(this.queue.publish).bind(this.queue)()];
71
- Array.from(this.orderedQueues.values()).forEach(q => publishes.push((0, promisify_1.promisify)(q.publish).bind(q)()));
72
- const allPublishes = Promise.all(publishes);
70
+ const toDrain = [this.queue, ...Array.from(this.orderedQueues.values())];
71
+ const allDrains = Promise.all(toDrain.map(q => new Promise(resolve => {
72
+ const flushResolver = () => {
73
+ resolve();
74
+ // flush() maybe called more than once, so remove these
75
+ // event listeners after we've completed flush().
76
+ q.removeListener('drain', flushResolver);
77
+ };
78
+ return q.on('drain', flushResolver);
79
+ })));
80
+ const allPublishes = Promise.all(toDrain.map(q => (0, promisify_1.promisify)(q.publish).bind(q)()));
73
81
  allPublishes
82
+ .then(() => allDrains)
74
83
  .then(() => {
75
84
  definedCallback(null);
76
85
  })
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/publisher/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/publisher/index.ts"],"names":[],"mappings":"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"}
@@ -90,6 +90,8 @@ export declare class Queue extends MessageQueue {
90
90
  add(message: PubsubMessage, callback: PublishCallback): void;
91
91
  /**
92
92
  * Cancels any pending publishes and calls _publish immediately.
93
+ *
94
+ * @emits Queue#drain when all messages are sent.
93
95
  */
94
96
  publish(callback?: PublishDone): void;
95
97
  }
@@ -117,15 +117,30 @@ class Queue extends MessageQueue {
117
117
  }
118
118
  /**
119
119
  * Cancels any pending publishes and calls _publish immediately.
120
+ *
121
+ * @emits Queue#drain when all messages are sent.
120
122
  */
121
123
  publish(callback) {
124
+ const definedCallback = callback || (() => { });
122
125
  const { messages, callbacks } = this.batch;
123
126
  this.batch = new message_batch_1.MessageBatch(this.batchOptions);
124
127
  if (this.pending) {
125
128
  clearTimeout(this.pending);
126
129
  delete this.pending;
127
130
  }
128
- this._publish(messages, callbacks, callback);
131
+ this._publish(messages, callbacks, (err) => {
132
+ if (err) {
133
+ definedCallback(err);
134
+ }
135
+ else if (this.batch.messages.length) {
136
+ // Make another go-around, we're trying to drain the queues fully.
137
+ this.publish(callback);
138
+ }
139
+ else {
140
+ this.emit('drain');
141
+ definedCallback(null);
142
+ }
143
+ });
129
144
  }
130
145
  }
131
146
  exports.Queue = Queue;
@@ -1 +1 @@
1
- {"version":3,"file":"message-queues.js","sourceRoot":"","sources":["../../../src/publisher/message-queues.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message-queues.js","sourceRoot":"","sources":["../../../src/publisher/message-queues.ts"],"names":[],"mappings":"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"}