@wikicasa-dev/node-common 2.5.1 → 3.1.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.
@@ -1,25 +1,47 @@
1
1
  import { CallPool, PROXY } from "../src/CallPool.js";
2
2
  import { Console, COLORS } from "../src/Console.js";
3
3
  async function demoCallPool() {
4
- const pool = new CallPool("demo", PROXY.NONE, 1, 100, 100, 60000);
4
+ const pool = new CallPool({
5
+ name: "demo",
6
+ proxy: PROXY.NONE,
7
+ minConcurrency: 1,
8
+ maxConcurrency: 100,
9
+ limitCall: 30,
10
+ limitInterval: 60000,
11
+ retry: {
12
+ attempts: 1,
13
+ delayMs: 2000,
14
+ shouldRetry: (error) => {
15
+ // Simuliamo che alcuni errori sono recuperabili e altri no
16
+ return error.message.includes("RETRY");
17
+ }
18
+ }
19
+ });
5
20
  Console.appendSummaryLine(() => pool.print(), COLORS.YELLOW, "pool_status");
6
- // Funzione che simula una chiamata API con timeout casuale
21
+ // Funzione che simula una chiamata API con timeout casuale e diversi tipi di errori
7
22
  const simulateApiCall = (id) => {
8
23
  return new Promise((resolve, reject) => {
9
24
  const delay = Math.random() * 4000 + 1100; // Ritardo casuale tra 1-5 secondi
10
- const willSucceed = Math.random() > 0.2; // 80% di probabilità di successo
25
+ const scenario = Math.random();
11
26
  setTimeout(() => {
12
- if (willSucceed) {
13
- resolve(`✨ Operazione ${id} completata in ${(delay / 1000).toFixed(1)}s`);
27
+ if (scenario > 0.000001) {
28
+ resolve(`✨ Operazione ${id} completata con successo in ${(delay / 1000).toFixed(1)}s`);
29
+ }
30
+ else if (scenario > 0.2) {
31
+ // Errore recuperabile (con RETRY nel messaggio)
32
+ reject(new Error(`RETRY: Errore temporaneo per operazione ${id} dopo ${(delay / 1000).toFixed(1)}s`));
14
33
  }
15
34
  else {
16
- reject(new Error(`💥 Operazione ${id} fallita dopo ${(delay / 1000).toFixed(1)}s`));
35
+ // Errore non recuperabile
36
+ reject(new Error(`FATAL: Errore permanente per operazione ${id} dopo ${(delay / 1000).toFixed(1)}s`));
17
37
  }
18
38
  }, delay);
19
39
  });
20
40
  };
21
- // Creiamo 20 operazioni simulate
22
- const operations = Array.from({ length: 100 }, (_, i) => i + 1);
41
+ // Creiamo 50 operazioni simulate
42
+ const operations = Array.from({ length: 50 }, (_, i) => i + 1);
43
+ Console.log("\n🚀 Avvio operazioni batch con retry...");
44
+ const time = performance.now();
23
45
  // Aggiungiamo le operazioni al pool usando enqueue
24
46
  const promises = operations.map(id => {
25
47
  return pool.enqueue(() => simulateApiCall(id))
@@ -28,18 +50,32 @@ async function demoCallPool() {
28
50
  return result;
29
51
  })
30
52
  .catch(error => {
31
- Console.error(error.message);
53
+ const retryInfo = error.message.includes("RETRY") ?
54
+ " (dopo tutti i tentativi di retry)" :
55
+ " (errore non recuperabile)";
56
+ Console.error(`💥 ${error.message}${retryInfo}`);
32
57
  throw error;
33
58
  });
34
59
  });
35
60
  try {
36
61
  await Promise.allSettled(promises);
37
62
  Console.success("\n🎉 Demo completata! Tutte le operazioni sono state processate.");
63
+ // Stampiamo alcune statistiche
64
+ const results = await Promise.allSettled(promises);
65
+ const succeeded = results.filter(r => r.status === "fulfilled").length;
66
+ const failed = results.filter(r => r.status === "rejected").length;
67
+ Console.log("\n📊 Statistiche finali:");
68
+ Console.log(`🕒 Tempo di esecuzione: ${((performance.now() - time) / 1000).toFixed(1)}s`);
69
+ Console.log(`✅ Operazioni riuscite: ${succeeded}`);
70
+ Console.log(`❌ Operazioni fallite: ${failed}`);
71
+ Console.log(`📈 Chiamate al minuto: ${await pool.getActualCallsPerMinute()}`);
72
+ Console.log(`🔄 Chiamate totali: ${pool.getTotalCalls()}`);
38
73
  }
39
74
  catch (error) {
40
75
  Console.error("Errore generale nella demo:", error);
41
76
  }
42
77
  finally {
78
+ await pool.finish(); // Aspettiamo che tutte le operazioni siano completate
43
79
  Console.clearSummaryLines();
44
80
  }
45
81
  }
@@ -47,5 +83,9 @@ async function demoCallPool() {
47
83
  Console.log("🚀 Avvio demo CallPool...\n");
48
84
  demoCallPool().catch(error => {
49
85
  Console.error("Errore fatale nella demo:", error);
86
+ })
87
+ .finally(() => {
88
+ Console.clearSummaryLines();
89
+ process.exit(0);
50
90
  });
51
91
  //# sourceMappingURL=callpool-demo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"callpool-demo.js","sourceRoot":"","sources":["../../examples/callpool-demo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEpD,KAAK,UAAU,YAAY;IACvB,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IAElE,OAAO,CAAC,iBAAiB,CACrB,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAClB,MAAM,CAAC,MAAM,EACb,aAAa,CAChB,CAAC;IAEF,2DAA2D;IAC3D,MAAM,eAAe,GAAG,CAAC,EAAU,EAAmB,EAAE;QACpD,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,kCAAkC;YAC7E,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,iCAAiC;YAE1E,UAAU,CAAC,GAAG,EAAE;gBACZ,IAAI,WAAW,EAAE,CAAC;oBACd,OAAO,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,KAAK,GAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC5E,CAAC;qBAAM,CAAC;oBACJ,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,KAAK,GAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACtF,CAAC;YACL,CAAC,EAAE,KAAK,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,iCAAiC;IACjC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAEhE,mDAAmD;IACnD,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;aACzC,IAAI,CAAC,MAAM,CAAC,EAAE;YACX,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACxB,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;aACD,KAAK,CAAC,KAAK,CAAC,EAAE;YACX,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7B,MAAM,KAAK,CAAC;QAChB,CAAC,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC;QACD,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACnC,OAAO,CAAC,OAAO,CAAC,kEAAkE,CAAC,CAAC;IACxF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;YAAS,CAAC;QACP,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAChC,CAAC;AACL,CAAC;AAED,kBAAkB;AAClB,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;AAC3C,YAAY,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;IACzB,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"callpool-demo.js","sourceRoot":"","sources":["../../examples/callpool-demo.ts"],"names":[],"mappings":"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"}
@@ -4,14 +4,24 @@ export declare enum PROXY {
4
4
  STATIC = 1,
5
5
  DYNAMIC = 2
6
6
  }
7
+ interface RetryConfig {
8
+ attempts: number;
9
+ shouldRetry?: (error: any) => boolean;
10
+ delayMs?: number;
11
+ }
12
+ interface CallPoolConfig {
13
+ name?: string;
14
+ proxy?: PROXY;
15
+ minConcurrency?: number;
16
+ maxConcurrency: number;
17
+ limitCall?: number;
18
+ limitInterval?: number;
19
+ retry?: Partial<RetryConfig>;
20
+ }
7
21
  export declare class CallPool {
8
- private name;
9
22
  private concurrency;
10
- private readonly minConcurrency;
11
- private readonly maxConcurrency;
12
23
  private _print;
13
24
  private readonly limiter;
14
- private readonly proxy;
15
25
  private readonly CLOCK_NUMBER;
16
26
  private readonly WEIGHT;
17
27
  private mean;
@@ -20,18 +30,24 @@ export declare class CallPool {
20
30
  private queue;
21
31
  private activeCount;
22
32
  private agent;
23
- private completedCalls;
33
+ private callStack;
34
+ private callStackMutex;
35
+ private totalCalls;
24
36
  private readonly MINUTE_IN_MS;
25
- constructor(name: string, proxy: PROXY, minConcurrency: number, maxConcurrency: number, limitCall?: number, limitInterval?: number);
37
+ private readonly config;
38
+ private isScheduling;
39
+ constructor(config: CallPoolConfig);
26
40
  private buildAxiosConfig;
41
+ private updateCallStack;
42
+ private executeLimited;
27
43
  directCall(url: string, config?: AxiosRequestConfig): Promise<AxiosResponse>;
28
44
  call(url: string, config?: AxiosRequestConfig): Promise<AxiosResponse>;
29
45
  private getRandomUserAgent;
30
46
  enqueue(call: () => Promise<any>): Promise<any>;
31
47
  private schedule;
48
+ private updateMetrics;
32
49
  print(): string;
33
- updatePrint(): void;
34
- private fetchWithRetry;
50
+ updatePrint(): Promise<void>;
35
51
  /**
36
52
  * Restituisce il numero di chiamate attualmente in coda
37
53
  * @returns {number} Il numero di chiamate in coda
@@ -43,5 +59,7 @@ export declare class CallPool {
43
59
  * @returns Promise che si risolve quando la coda è vuota e non ci sono chiamate attive
44
60
  */
45
61
  finish(checkInterval?: number): Promise<void>;
46
- getActualCallsPerMinute(): number;
62
+ getActualCallsPerMinute(): Promise<number>;
63
+ getTotalCalls(): number;
47
64
  }
65
+ export {};
@@ -8,31 +8,45 @@ import Agent from "agentkeepalive";
8
8
  import * as RandomUserAgent from "random-useragent";
9
9
  import _ from "lodash";
10
10
  import { HttpsProxyAgent } from "https-proxy-agent";
11
+ import { setImmediate } from "timers";
12
+ import { Mutex } from "async-mutex";
11
13
  const cacheable = new CacheableLookup();
12
14
  // Increase the limit
13
15
  EventEmitter.defaultMaxListeners = 20;
14
16
  //const a = new CallPool("test", 1, 10, 50, 1000, PROXY.DYNAMIC);
15
- /*axiosRetry(axios, {
16
- retries: 1,
17
- retryDelay: (retryCount, error) => {
18
- Console.log(`retry attempt: ${retryCount}. Error ${error}`);
19
- return retryCount * 1000;
20
- },
21
- });*/
22
17
  export var PROXY;
23
18
  (function (PROXY) {
24
19
  PROXY[PROXY["NONE"] = 0] = "NONE";
25
20
  PROXY[PROXY["STATIC"] = 1] = "STATIC";
26
21
  PROXY[PROXY["DYNAMIC"] = 2] = "DYNAMIC";
27
22
  })(PROXY || (PROXY = {}));
23
+ const defaultRetryConfig = {
24
+ attempts: 1,
25
+ delayMs: 1000,
26
+ shouldRetry: (error) => {
27
+ if (!error.response)
28
+ return true; // errori di rete
29
+ const status = error.response.status;
30
+ // Retry per errori di server e alcuni errori client specifici
31
+ return (status >= 500 ||
32
+ status === 429 || // Too Many Requests
33
+ status === 408 // Request Timeout
34
+ );
35
+ }
36
+ };
37
+ const defaultConfig = {
38
+ name: "default",
39
+ proxy: PROXY.NONE,
40
+ minConcurrency: 1,
41
+ maxConcurrency: 10,
42
+ limitCall: undefined,
43
+ limitInterval: undefined,
44
+ retry: defaultRetryConfig,
45
+ };
28
46
  export class CallPool {
29
- name;
30
47
  concurrency;
31
- minConcurrency = 1;
32
- maxConcurrency;
33
48
  _print = "";
34
49
  limiter;
35
- proxy;
36
50
  CLOCK_NUMBER = 1;
37
51
  WEIGHT = 100;
38
52
  mean = 0;
@@ -42,18 +56,18 @@ export class CallPool {
42
56
  activeCount;
43
57
  // @ts-ignore
44
58
  agent;
45
- completedCalls = [];
59
+ callStack = [];
60
+ callStackMutex = new Mutex();
61
+ totalCalls = 0;
46
62
  MINUTE_IN_MS = 60000;
47
- constructor(name = "default", proxy = PROXY.STATIC, minConcurrency = 1, maxConcurrency, limitCall = 1000, limitInterval = 1000) {
48
- this.name = name;
49
- this.concurrency = (minConcurrency + maxConcurrency) / 2;
50
- this.minConcurrency = minConcurrency;
51
- this.maxConcurrency = maxConcurrency;
63
+ config;
64
+ isScheduling = false;
65
+ constructor(config) {
66
+ this.config = { ...defaultConfig, ...config };
67
+ this.concurrency = (this.config.minConcurrency + this.config.maxConcurrency) / 2;
52
68
  this.queue = [];
53
69
  this.activeCount = 0;
54
- // @ts-ignore
55
- this.limiter = throttledQueue(limitCall, limitInterval, true);
56
- this.proxy = proxy;
70
+ this.limiter = throttledQueue(this.config.limitCall, this.config.limitInterval, true);
57
71
  this.updatePrint();
58
72
  this.agent = new Agent({
59
73
  maxSockets: 100,
@@ -61,23 +75,11 @@ export class CallPool {
61
75
  timeout: 30000,
62
76
  lookup: cacheable.lookupAsync,
63
77
  });
64
- /*axios("https://api.ipify.org?format=json", {
65
- method: "GET",
66
- proxy: null,
67
- });
68
-
69
- fetch("https://api.ipify.org?format=json", {
70
- method: "GET",
71
- agent: null,
72
- headers: {
73
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
74
- }
75
- })*/
76
78
  }
77
79
  buildAxiosConfig(config) {
78
80
  return _.merge({
79
81
  method: "GET",
80
- proxy: this.proxy === PROXY.DYNAMIC ? {
82
+ proxy: this.config.proxy === PROXY.DYNAMIC ? {
81
83
  protocol: "http",
82
84
  host: "api.zyte.com",
83
85
  port: 8011,
@@ -86,26 +88,59 @@ export class CallPool {
86
88
  password: ""
87
89
  },
88
90
  } : undefined,
89
- httpsAgent: this.proxy === PROXY.STATIC ? new HttpsProxyAgent("http://wikicasa:VTt7KYb5fsqDhK6xXinS@162.19.104.35:3128") : undefined,
90
- httpAgent: this.proxy === PROXY.STATIC ? new HttpsProxyAgent("http://wikicasa:VTt7KYb5fsqDhK6xXinS@162.19.104.35:3128") : undefined,
91
+ httpsAgent: this.config.proxy === PROXY.STATIC ? new HttpsProxyAgent("http://wikicasa:VTt7KYb5fsqDhK6xXinS@162.19.104.35:3128") : undefined,
92
+ httpAgent: this.config.proxy === PROXY.STATIC ? new HttpsProxyAgent("http://wikicasa:VTt7KYb5fsqDhK6xXinS@162.19.104.35:3128") : undefined,
91
93
  maxContentLength: Infinity,
92
94
  maxBodyLength: Infinity,
93
95
  timeout: 600000,
94
96
  headers: {
95
- ...(this.proxy === PROXY.DYNAMIC && { "Zyte-Geolocation": "IT" }),
96
- "User-Agent": this.proxy !== PROXY.NONE ? this.getRandomUserAgent() : undefined,
97
+ ...(this.config.proxy === PROXY.DYNAMIC && { "Zyte-Geolocation": "IT" }),
98
+ "User-Agent": this.config.proxy !== PROXY.NONE ? this.getRandomUserAgent() : undefined,
97
99
  }
98
100
  }, config);
99
101
  }
102
+ async updateCallStack() {
103
+ await this.callStackMutex.runExclusive(() => {
104
+ this.totalCalls++;
105
+ const now = Date.now();
106
+ this.callStack.push(now);
107
+ const oneMinuteAgo = now - this.MINUTE_IN_MS;
108
+ this.callStack = this.callStack.filter(timestamp => timestamp > oneMinuteAgo);
109
+ });
110
+ }
111
+ executeLimited(call, resolve, reject, remainingAttempts = this.config.retry?.attempts) {
112
+ const time = performance.now();
113
+ this.activeCount++;
114
+ this.limiter(async () => {
115
+ try {
116
+ await this.updateCallStack();
117
+ const result = await call();
118
+ resolve(result);
119
+ }
120
+ catch (error) {
121
+ if (this.config.retry?.shouldRetry?.(error) && remainingAttempts > 0) {
122
+ Console.log(`${this.config.name}: Rimetto in coda il tentativo. Tentativi rimasti: ${remainingAttempts - 1}`);
123
+ await sleep(this.config.retry.delayMs);
124
+ this.executeLimited(call, resolve, reject, remainingAttempts - 1);
125
+ }
126
+ else {
127
+ reject(error);
128
+ }
129
+ }
130
+ finally {
131
+ this.activeCount--;
132
+ this.updateMetrics(time);
133
+ setImmediate(() => this.schedule());
134
+ }
135
+ });
136
+ }
100
137
  async directCall(url, config) {
101
138
  return axios(url, this.buildAxiosConfig(config));
102
139
  }
103
140
  call(url, config) {
104
141
  return new Promise((resolve, reject) => {
105
142
  this.queue.push({
106
- call: async () => {
107
- return axios(url, this.buildAxiosConfig(config));
108
- },
143
+ call: () => axios(url, this.buildAxiosConfig(config)),
109
144
  resolve,
110
145
  reject
111
146
  });
@@ -133,49 +168,45 @@ export class CallPool {
133
168
  });
134
169
  }
135
170
  schedule() {
136
- while (this.activeCount < this.concurrency && this.queue.length > 0) {
137
- const item = this.queue.shift();
138
- if (!item)
139
- return;
140
- const { call, resolve, reject } = item;
141
- this.activeCount++;
142
- this.limiter(() => {
143
- const time = performance.now();
144
- call()
145
- .then((result) => {
146
- resolve(result);
147
- })
148
- .catch((error) => {
149
- reject(error);
150
- })
151
- .finally(() => {
152
- this.completedCalls.push(Date.now());
153
- const oneMinuteAgo = Date.now() - this.MINUTE_IN_MS;
154
- this.completedCalls = this.completedCalls.filter(timestamp => timestamp > oneMinuteAgo);
155
- this.activeCount--;
156
- this.clock--;
157
- if (this.clock < 0) {
158
- this.clock = this.CLOCK_NUMBER;
159
- if (this.mean > this.targetMean && this.mean > 10)
160
- this.concurrency = Math.max(this.concurrency - Math.floor(this.concurrency / 10), this.minConcurrency);
161
- if (this.mean < this.targetMean || this.mean < 2)
162
- this.concurrency = Math.min(this.concurrency + Math.ceil(this.concurrency / 20), this.maxConcurrency);
163
- this.targetMean = this.mean;
164
- }
165
- const t = (performance.now() - time) / 1000;
166
- this.mean = this.mean > 0 ? this.mean + (t - this.mean) / this.WEIGHT : t;
167
- this.updatePrint();
168
- this.schedule();
169
- });
170
- });
171
+ if (this.isScheduling)
172
+ return;
173
+ this.isScheduling = true;
174
+ try {
175
+ while (this.activeCount < this.concurrency && this.queue.length > 0) {
176
+ const item = this.queue.shift();
177
+ if (!item)
178
+ break;
179
+ const { call, resolve, reject } = item;
180
+ this.executeLimited(call, resolve, reject);
181
+ }
182
+ }
183
+ finally {
184
+ this.isScheduling = false;
171
185
  }
172
186
  }
187
+ updateMetrics(startTime) {
188
+ this.clock--;
189
+ if (this.clock < 0) {
190
+ this.clock = this.CLOCK_NUMBER;
191
+ if (this.mean > this.targetMean && this.mean > 10) {
192
+ this.concurrency = Math.max(this.concurrency - Math.floor(this.concurrency / 10), this.config.minConcurrency);
193
+ }
194
+ if (this.mean < this.targetMean || this.mean < 2) {
195
+ this.concurrency = Math.min(this.concurrency + Math.ceil(this.concurrency / 20), this.config.maxConcurrency);
196
+ }
197
+ this.targetMean = this.mean;
198
+ }
199
+ const t = (performance.now() - startTime) / 1000;
200
+ this.mean = this.mean > 0 ? this.mean + (t - this.mean) / this.WEIGHT : t;
201
+ this.updatePrint();
202
+ }
173
203
  print() {
174
204
  return this._print;
175
205
  }
176
- updatePrint() {
177
- const textStart = `${Console.color(this.name.padEnd(16), COLORS.YELLOW)} [POOL][`;
178
- const textEnd = `][${this.activeCount + this.queue?.length}/${this.concurrency}][${this.mean.toFixed(2)}s, ${this.getActualCallsPerMinute()} avg/m]`;
206
+ async updatePrint() {
207
+ const textStart = `${Console.color(this.config.name.padEnd(16), COLORS.YELLOW)} [POOL][`;
208
+ const callsPerMinute = await this.getActualCallsPerMinute();
209
+ const textEnd = `][${this.activeCount + this.queue?.length}/${this.concurrency}][${this.mean.toFixed(2)}s, ${callsPerMinute} avg/m]`;
179
210
  let progress = "";
180
211
  const max = process.stdout.columns - Math.max(textStart.length + textEnd.length, process.stdout.columns * 0.5);
181
212
  const percent = this.activeCount / this.concurrency * max;
@@ -186,21 +217,6 @@ export class CallPool {
186
217
  this._print = textStart + progress + textEnd;
187
218
  Console.forceSummaryLinesRefresh();
188
219
  }
189
- async fetchWithRetry(url, options, retries = 3, sleepTime = 1000) {
190
- try {
191
- const response = await fetch(url, options);
192
- if (!response.ok)
193
- throw new Error(`HTTP error! status: ${response.status}`);
194
- return response;
195
- }
196
- catch (error) {
197
- if (retries === 0)
198
- throw new Error(`Failed to fetch ${url} after several retries`);
199
- Console.log(`Retrying fetch for ${url}. Attempts remaining: ${retries - 1}`);
200
- await sleep(sleepTime);
201
- return this.fetchWithRetry(url, options, retries - 1);
202
- }
203
- }
204
220
  /**
205
221
  * Restituisce il numero di chiamate attualmente in coda
206
222
  * @returns {number} Il numero di chiamate in coda
@@ -218,9 +234,14 @@ export class CallPool {
218
234
  await sleep(checkInterval);
219
235
  }
220
236
  }
221
- getActualCallsPerMinute() {
222
- const oneMinuteAgo = Date.now() - this.MINUTE_IN_MS;
223
- return this.completedCalls.filter(timestamp => timestamp > oneMinuteAgo).length;
237
+ async getActualCallsPerMinute() {
238
+ return await this.callStackMutex.runExclusive(() => {
239
+ const oneMinuteAgo = Date.now() - this.MINUTE_IN_MS;
240
+ return this.callStack.filter(timestamp => timestamp > oneMinuteAgo).length;
241
+ });
242
+ }
243
+ getTotalCalls() {
244
+ return this.totalCalls;
224
245
  }
225
246
  }
226
247
  //# sourceMappingURL=CallPool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CallPool.js","sourceRoot":"","sources":["../../src/CallPool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CallPool.js","sourceRoot":"","sources":["../../src/CallPool.ts"],"names":[],"mappings":"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"}
package/dist/src/utils.js CHANGED
@@ -161,10 +161,18 @@ export function shuffleArray(array) {
161
161
  export function extractNumbers(str) {
162
162
  if (!str)
163
163
  return;
164
- // Regex per identificare i numeri con separatore delle migliaia e parte decimale
165
- const regex = /(\d{1,3}(?:[.,]\d{3})*(?:[.,]\d+)?)/g;
166
- const matches = str.match(regex);
167
- return matches?.at(0);
164
+ // Regex per date nel formato dd.mm.yyyy o dd/mm/yyyy
165
+ const dateRegex = /\d{1,2}[./]\d{1,2}[./]\d{2,4}/g;
166
+ // Regex per numeri con separatore delle migliaia e decimali
167
+ const numberRegex = /(\d{1,3}(?:[.,]\d{3})*(?:[.,]\d+)?)/g;
168
+ // Troviamo tutte le corrispondenze
169
+ const matches = str.match(numberRegex);
170
+ if (!matches)
171
+ return;
172
+ // Filtriamo i numeri che sono parte di date
173
+ const dates = str.match(dateRegex) || [];
174
+ const numbers = matches.filter(match => match && !dates.some(date => date?.includes(match)));
175
+ return numbers?.[0];
168
176
  }
169
177
  export function parseFloatFromString(str) {
170
178
  if (!str)
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wikicasa-dev/node-common",
3
- "version": "2.5.1",
3
+ "version": "3.1.0",
4
4
  "description": "Wikicasa node common",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -22,6 +22,7 @@
22
22
  "@elastic/elasticsearch": "^8.15.0",
23
23
  "@supercharge/promise-pool": "^3.2.0",
24
24
  "agentkeepalive": "^4.5.0",
25
+ "async-mutex": "^0.5.0",
25
26
  "axios": "^1.7.7",
26
27
  "axios-retry": "^4.5.0",
27
28
  "cacheable-lookup": "^7.0.0",