@anthor/core-pubsub 1.132.32 → 1.132.34

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.
package/dist/index.js CHANGED
@@ -26,6 +26,32 @@ const isProjectIdSet = (projectId) => (!projectId
26
26
  || projectId === undefined
27
27
  || projectId === 'null'
28
28
  || projectId === null);
29
+ // Clientes PubSub/PublisherClient sao reutilizados por projectId. Criar um novo
30
+ // cliente a cada publish vaza recursos: cada cliente abre um canal gRPC que fica
31
+ // registrado PERMANENTEMENTE nos arrays de escopo de modulo do channelz do
32
+ // @grpc/grpc-js e nunca e liberado (o cliente nunca recebe .close()), mais
33
+ // keepalive timers/sockets -> ~1-2 MB retidos por publish, crescendo ate OOM em
34
+ // processos de vida longa (ex.: Cloud Functions gen1). Reutilizar um unico
35
+ // cliente por projectId e a recomendacao oficial do Google e mantem o channelz
36
+ // com tamanho constante. Ver diagnostico de memoria 20/07 (fn users, leak/OOM).
37
+ const pubSubClients = new Map();
38
+ const getPubSubClient = (projectId) => {
39
+ let client = pubSubClients.get(projectId);
40
+ if (!client) {
41
+ client = new pubsub_1.PubSub({ projectId });
42
+ pubSubClients.set(projectId, client);
43
+ }
44
+ return client;
45
+ };
46
+ const publisherClients = new Map();
47
+ const getPublisherClient = (projectId) => {
48
+ let client = publisherClients.get(projectId);
49
+ if (!client) {
50
+ client = new pubsub_1.v1.PublisherClient({ projectId });
51
+ publisherClients.set(projectId, client);
52
+ }
53
+ return client;
54
+ };
29
55
  const publishOnQueue = async (topic, args, projectId = process.env.GCP_PROJECT) => {
30
56
  if (process.env.ENV === 'local') {
31
57
  const console = new console_1.Console(process.stdout, process.stderr);
@@ -37,7 +63,7 @@ const publishOnQueue = async (topic, args, projectId = process.env.GCP_PROJECT)
37
63
  if (isProjectIdSet(projectId)) {
38
64
  throw new Error('GCloud project id not set. You should set `GCP_PROJECT` environment variable');
39
65
  }
40
- return (new pubsub_1.PubSub({ projectId })).topic(topic).publish((0, exports.encodeBuffer)(args));
66
+ return getPubSubClient(projectId).topic(topic).publish((0, exports.encodeBuffer)(args));
41
67
  };
42
68
  exports.publishOnQueue = publishOnQueue;
43
69
  const publishEventDrivenMessage = async (topic, args, projectId = process.env.GCP_PROJECT) => (0, exports.publishOnQueue)(topic, args, projectId);
@@ -56,9 +82,7 @@ const publishOnQueueWithRetry = async ({ topicNameOrId, args, retrySettings, pro
56
82
  if (isProjectIdSet(projectId)) {
57
83
  throw new Error('GCloud project id not set. You should set `GCP_PROJECT` environment variable');
58
84
  }
59
- const publisherClient = new pubsub_1.v1.PublisherClient({
60
- projectId,
61
- });
85
+ const publisherClient = getPublisherClient(projectId);
62
86
  const formattedTopic = publisherClient.projectTopicPath(projectId, topicNameOrId);
63
87
  const dataBuffer = (0, exports.encodeBuffer)(args);
64
88
  const messagesElement = {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,+DAA0D;AAC1D,iDAAgE;AAChE,qCAAkC;AAkBlC;;GAEG;AACH,IAAY,gBAQX;AARD,WAAY,gBAAgB;IAC1B,8DAAY,CAAA;IACZ,iEAAa,CAAA;IACb,iFAAqB,CAAA;IACrB,gEAAa,CAAA;IACb,mFAAsB,CAAA;IACtB,sEAAgB,CAAA;IAChB,6DAAW,CAAA;AACb,CAAC,EARW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAQ3B;AASM,MAAM,YAAY,GAAG,CAAC,IAAgB,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAAvE,QAAA,YAAY,gBAA2D;AAE7E,MAAM,YAAY,GAAG,CAAC,OAAe,EAAc,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AAAtG,QAAA,YAAY,gBAA0F;AAEnH,MAAM,cAAc,GAAG,CAAC,SAAiB,EAAE,EAAE,CAAC,CAC5C,CAAC,SAAS;OACP,SAAS,KAAK,WAAW;OACzB,SAAS,KAAK,SAAS;OACvB,SAAS,KAAK,MAAM;OACpB,SAAS,KAAK,IAAI,CACtB,CAAC;AAEK,MAAM,cAAc,GAAG,KAAK,EACjC,KAAa,EACb,IAAqC,EACrC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,EACnC,EAAE;IACF,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,OAAO,EAAE;QAC/B,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5D,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,iCAAc,EAAC,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAQ,CAAC;QAC1G,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,6BAA6B,KAAK,aAAa,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;KACb;IAED,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE;QAC7B,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;KACjG;IAED,OAAO,CAAC,IAAI,eAAM,CAAC,EAAE,SAAS,EAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAA,oBAAY,EAAC,IAAI,CAAC,CAAC,CAAC;AAC9F,CAAC,CAAC;AAlBW,QAAA,cAAc,kBAkBzB;AAEK,MAAM,yBAAyB,GAAG,KAAK,EAC5C,KAAa,EACb,IAAwB,EACxB,YAAoB,OAAO,CAAC,GAAG,CAAC,WAAW,EAC3C,EAAE,CAAC,IAAA,sBAAc,EAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;AAJ/B,QAAA,yBAAyB,6BAIM;AAE5C;;GAEG;AACI,MAAM,uBAAuB,GAAG,KAAK,EAAK,EAC/C,aAAa,EACb,IAAI,EACJ,aAAa,EACb,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,GACT,EAAE,EAAE;IAC9B,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,OAAO,EAAE;QAC/B,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5D,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,iCAAc,EAAC,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAQ,CAAC;QAC1G,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,6BAA6B,aAAa,aAAa,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC;KACb;IAED,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE;QAC7B,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;KACjG;IAED,MAAM,eAAe,GAAG,IAAI,WAAE,CAAC,eAAe,CAAC;QAC7C,SAAS;KACV,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,eAAe,CAAC,gBAAgB,CACrD,SAAS,EACT,aAAa,CACd,CAAC;IAEF,MAAM,UAAU,GAAG,IAAA,oBAAY,EAAC,IAAI,CAAC,CAAC;IACtC,MAAM,eAAe,GAAG;QACtB,IAAI,EAAE,UAAU;KACjB,CAAC;IACF,MAAM,QAAQ,GAAG,CAAC,eAAe,CAAC,CAAC;IAEnC,MAAM,OAAO,GAAG;QACd,KAAK,EAAE,cAAc;QACrB,QAAQ;KACT,CAAC;IAEF,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,eAAe,CAAC,OAAO,CAC9C,OAAO,EACP,EAAE,KAAK,EAAE,aAAa,EAAE,CACzB,CAAC;IAEF,OAAO,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AACzC,CAAC,CAAC;AA5CW,QAAA,uBAAuB,2BA4ClC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@anthor/core-pubsub",
3
- "version": "1.132.32",
3
+ "version": "1.132.34",
4
4
  "publishConfig": {
5
- "access": "restricted"
5
+ "access": "public"
6
6
  },
7
7
  "main": "dist/index",
8
8
  "types": "dist/index",
@@ -21,7 +21,7 @@
21
21
  "test:watch": "yarn test --watchAll"
22
22
  },
23
23
  "dependencies": {
24
- "@anthor/core-stackdriver": "^1.132.32",
24
+ "@anthor/core-stackdriver": "^1.132.34",
25
25
  "@google-cloud/pubsub": "^3.0.1",
26
26
  "jest-sonar-reporter": "^2.0.0"
27
27
  },
@@ -29,5 +29,5 @@
29
29
  "@typescript-eslint/eslint-plugin": "^5.57.1",
30
30
  "eslint-plugin-unused-imports": "^2.0.0"
31
31
  },
32
- "gitHead": "83b0e2111ba4bad9ae46067ea8732f18f0958073"
32
+ "gitHead": "54fe6def04b667d99a6c6118904c0a055e22ea29"
33
33
  }