@abtnode/router-provider 1.16.15-beta-58d50c9a → 1.16.15-beta-89b542d3

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/lib/base.js CHANGED
@@ -37,6 +37,14 @@ class BaseProvider {
37
37
  throw new Error('rotateLogs method is not implemented');
38
38
  }
39
39
 
40
+ searchCache() {
41
+ throw new Error('searchCache method is not implemented');
42
+ }
43
+
44
+ clearCache() {
45
+ throw new Error('clearCache method is not implemented');
46
+ }
47
+
40
48
  getWorkerProcess(max = +process.env.ABT_NODE_MAX_CLUSTER_SIZE) {
41
49
  if (this.isTest) {
42
50
  return 1;
@@ -167,6 +167,14 @@ class DefaultProvider extends BaseProvider {
167
167
  getLogDir() {
168
168
  return this.logDir;
169
169
  }
170
+
171
+ searchCache() {
172
+ return [];
173
+ }
174
+
175
+ clearCache() {
176
+ return [];
177
+ }
170
178
  }
171
179
 
172
180
  DefaultProvider.describe = async ({ configDir = '' } = {}) => {
@@ -941,6 +941,32 @@ class NginxProvider extends BaseProvider {
941
941
  getLogDir() {
942
942
  return this.logDir;
943
943
  }
944
+
945
+ searchCache(pattern) {
946
+ const result = shelljs.exec(`grep -rl '^KEY:.*${pattern}' ${this.cacheDir}`, { silent: true });
947
+ logger.info('search nginx cache', { pattern, result });
948
+ if (result.stderr) {
949
+ console.error('Failed to search nginx cache', result.stderr);
950
+ return [];
951
+ }
952
+
953
+ return result.stdout.split(os.EOL).filter(Boolean);
954
+ }
955
+
956
+ clearCache() {
957
+ try {
958
+ return Object.keys(ROUTER_CACHE_GROUPS).map((key) => {
959
+ const cacheDir = path.join(this.cacheDir, key);
960
+ fs.rmSync(cacheDir, { recursive: true, force: true });
961
+ fs.ensureDirSync(cacheDir);
962
+ logger.info('nginx cache cleared', { key });
963
+ return cacheDir;
964
+ });
965
+ } catch (err) {
966
+ console.error('Failed to clear nginx cache', err);
967
+ return [];
968
+ }
969
+ }
944
970
  }
945
971
 
946
972
  NginxProvider.describe = async ({ configDir = '' } = {}) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abtnode/router-provider",
3
- "version": "1.16.15-beta-58d50c9a",
3
+ "version": "1.16.15-beta-89b542d3",
4
4
  "description": "Routing engine implementations for abt node",
5
5
  "author": "polunzh <polunzh@gmail.com>",
6
6
  "homepage": "https://github.com/ArcBlock/blocklet-server#readme",
@@ -32,10 +32,10 @@
32
32
  "url": "https://github.com/ArcBlock/blocklet-server/issues"
33
33
  },
34
34
  "dependencies": {
35
- "@abtnode/constant": "1.16.15-beta-58d50c9a",
36
- "@abtnode/logger": "1.16.15-beta-58d50c9a",
37
- "@abtnode/router-templates": "1.16.15-beta-58d50c9a",
38
- "@abtnode/util": "1.16.15-beta-58d50c9a",
35
+ "@abtnode/constant": "1.16.15-beta-89b542d3",
36
+ "@abtnode/logger": "1.16.15-beta-89b542d3",
37
+ "@abtnode/router-templates": "1.16.15-beta-89b542d3",
38
+ "@abtnode/util": "1.16.15-beta-89b542d3",
39
39
  "@arcblock/http-proxy": "^1.19.1",
40
40
  "axios": "^0.27.2",
41
41
  "debug": "^4.3.4",
@@ -59,5 +59,5 @@
59
59
  "bluebird": "^3.7.2",
60
60
  "fs-extra": "^10.1.0"
61
61
  },
62
- "gitHead": "c54236c1daace6451db561fa6b3eea21ba07bb4d"
62
+ "gitHead": "a5302e43c87e7f33a35b1293d7b55579cc36fcc8"
63
63
  }