fix(core): update
This commit is contained in:
parent
94854638dd
commit
db38a1ef85
104
.gitea/workflows/gitzone_ci_default.yaml
Normal file
104
.gitea/workflows/gitzone_ci_default.yaml
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
name: CI Pipeline
|
||||||
|
|
||||||
|
on: push
|
||||||
|
|
||||||
|
env:
|
||||||
|
IMAGE: registry.gitlab.com/hosttoday/ht-docker-node:npmci
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
|
||||||
|
security:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
continue-on-error: true
|
||||||
|
container:
|
||||||
|
image: ${{ env.IMAGE }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Install pnpm and npmci
|
||||||
|
run: |
|
||||||
|
pnpm install -g pnpm
|
||||||
|
pnpm install -g @shipzone/npmci
|
||||||
|
|
||||||
|
- name: Run npm prepare
|
||||||
|
run: npmci npm prepare
|
||||||
|
|
||||||
|
- name: Audit production dependencies
|
||||||
|
run: |
|
||||||
|
npmci command npm config set registry https://registry.npmjs.org
|
||||||
|
npmci command pnpm audit --audit-level=high --prod
|
||||||
|
|
||||||
|
- name: Audit development dependencies
|
||||||
|
run: |
|
||||||
|
npmci command npm config set registry https://registry.npmjs.org
|
||||||
|
npmci command pnpm audit --audit-level=high --dev
|
||||||
|
|
||||||
|
test:
|
||||||
|
needs: security
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container:
|
||||||
|
image: ${{ env.IMAGE }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Test stable
|
||||||
|
run: |
|
||||||
|
npmci node install stable
|
||||||
|
npmci npm install
|
||||||
|
npmci npm test
|
||||||
|
|
||||||
|
- name: Test build
|
||||||
|
run: |
|
||||||
|
npmci node install stable
|
||||||
|
npmci npm install
|
||||||
|
npmci npm build
|
||||||
|
|
||||||
|
release:
|
||||||
|
needs: test
|
||||||
|
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container:
|
||||||
|
image: ${{ env.IMAGE }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Release
|
||||||
|
run: |
|
||||||
|
npmci node install stable
|
||||||
|
npmci npm publish
|
||||||
|
|
||||||
|
metadata:
|
||||||
|
needs: test
|
||||||
|
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container:
|
||||||
|
image: ${{ env.IMAGE }}
|
||||||
|
continue-on-error: true
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Code quality
|
||||||
|
run: |
|
||||||
|
npmci command npm install -g typescript
|
||||||
|
npmci npm prepare
|
||||||
|
npmci npm install
|
||||||
|
|
||||||
|
- name: Trigger
|
||||||
|
run: npmci trigger
|
||||||
|
|
||||||
|
- name: Build docs and upload artifacts
|
||||||
|
run: |
|
||||||
|
npmci node install stable
|
||||||
|
npmci npm install
|
||||||
|
npmci command npm run buildDocs
|
||||||
|
|
||||||
|
- name: Upload artifacts
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: public
|
||||||
|
path: public
|
||||||
|
retention-days: 7
|
@ -64,7 +64,7 @@ testBuild:
|
|||||||
script:
|
script:
|
||||||
- npmci node install stable
|
- npmci node install stable
|
||||||
- npmci npm install
|
- npmci npm install
|
||||||
- npmci command npm run build
|
- npmci npm build
|
||||||
coverage: /\d+.?\d+?\%\s*coverage/
|
coverage: /\d+.?\d+?\%\s*coverage/
|
||||||
tags:
|
tags:
|
||||||
- docker
|
- docker
|
||||||
|
@ -21,7 +21,6 @@ Code Style | [![Code Style](https://badgen.net/badge/style/prettier/purple)](htt
|
|||||||
PackagePhobia (total standalone install weight) | [![PackagePhobia](https://badgen.net/packagephobia/install/@pushrocks/smartdata)](https://lossless.cloud)
|
PackagePhobia (total standalone install weight) | [![PackagePhobia](https://badgen.net/packagephobia/install/@pushrocks/smartdata)](https://lossless.cloud)
|
||||||
PackagePhobia (package size on registry) | [![PackagePhobia](https://badgen.net/packagephobia/publish/@pushrocks/smartdata)](https://lossless.cloud)
|
PackagePhobia (package size on registry) | [![PackagePhobia](https://badgen.net/packagephobia/publish/@pushrocks/smartdata)](https://lossless.cloud)
|
||||||
BundlePhobia (total size when bundled) | [![BundlePhobia](https://badgen.net/bundlephobia/minzip/@pushrocks/smartdata)](https://lossless.cloud)
|
BundlePhobia (total size when bundled) | [![BundlePhobia](https://badgen.net/bundlephobia/minzip/@pushrocks/smartdata)](https://lossless.cloud)
|
||||||
Platform support | [![Supports Windows 10](https://badgen.net/badge/supports%20Windows%2010/yes/green?icon=windows)](https://lossless.cloud) [![Supports Mac OS X](https://badgen.net/badge/supports%20Mac%20OS%20X/yes/green?icon=apple)](https://lossless.cloud)
|
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
@ -150,7 +149,6 @@ We are always happy for code contributions. If you are not the code contributing
|
|||||||
|
|
||||||
For further information read the linked docs at the top of this readme.
|
For further information read the linked docs at the top of this readme.
|
||||||
|
|
||||||
> MIT licensed | **©** [Lossless GmbH](https://lossless.gmbh)
|
## Legal
|
||||||
|
> MIT licensed | **©** [Task Venture Capital GmbH](https://task.vc)
|
||||||
| By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy)
|
| By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy)
|
||||||
|
|
||||||
[![repo-footer](https://lossless.gitlab.io/publicrelations/repofooter.svg)](https://maintainedby.lossless.com)
|
|
||||||
|
@ -3,6 +3,6 @@
|
|||||||
*/
|
*/
|
||||||
export const commitinfo = {
|
export const commitinfo = {
|
||||||
name: '@pushrocks/smartdata',
|
name: '@pushrocks/smartdata',
|
||||||
version: '5.0.13',
|
version: '5.0.14',
|
||||||
description: 'do more with data'
|
description: 'do more with data'
|
||||||
}
|
}
|
||||||
|
@ -6,9 +6,7 @@ export * from './smartdata.classes.cursor.js';
|
|||||||
|
|
||||||
import * as convenience from './smartadata.convenience.js';
|
import * as convenience from './smartadata.convenience.js';
|
||||||
|
|
||||||
export {
|
export { convenience };
|
||||||
convenience
|
|
||||||
}
|
|
||||||
|
|
||||||
// to be removed with the next breaking update
|
// to be removed with the next breaking update
|
||||||
import type * as plugins from './smartdata.plugins.js';
|
import type * as plugins from './smartdata.plugins.js';
|
||||||
|
@ -2,4 +2,4 @@ import * as plugins from './smartdata.plugins.js';
|
|||||||
|
|
||||||
export const getNewUniqueId = async (prefixArg?: string) => {
|
export const getNewUniqueId = async (prefixArg?: string) => {
|
||||||
return plugins.smartunique.uni(prefixArg);
|
return plugins.smartunique.uni(prefixArg);
|
||||||
}
|
};
|
||||||
|
@ -18,13 +18,13 @@ class DistributedClass extends SmartDataDbDoc<DistributedClass, DistributedClass
|
|||||||
/**
|
/**
|
||||||
* used to store request
|
* used to store request
|
||||||
*/
|
*/
|
||||||
taskRequests: plugins.taskbuffer.distributedCoordination.IDistributedTaskRequest[],
|
taskRequests: plugins.taskbuffer.distributedCoordination.IDistributedTaskRequest[];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* only used by the leader to convey consultation results
|
* only used by the leader to convey consultation results
|
||||||
*/
|
*/
|
||||||
taskRequestResults: plugins.taskbuffer.distributedCoordination.IDistributedTaskRequestResult[];
|
taskRequestResults: plugins.taskbuffer.distributedCoordination.IDistributedTaskRequestResult[];
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -83,7 +83,7 @@ export class SmartdataDistributedCoordinator extends plugins.taskbuffer.distribu
|
|||||||
lastUpdated: Date.now(),
|
lastUpdated: Date.now(),
|
||||||
status: 'initializing',
|
status: 'initializing',
|
||||||
taskRequests: [],
|
taskRequests: [],
|
||||||
taskRequestResults: []
|
taskRequestResults: [],
|
||||||
};
|
};
|
||||||
await this.ownInstance.save();
|
await this.ownInstance.save();
|
||||||
});
|
});
|
||||||
@ -153,19 +153,17 @@ export class SmartdataDistributedCoordinator extends plugins.taskbuffer.distribu
|
|||||||
/**
|
/**
|
||||||
* this function is started once per unique job request
|
* this function is started once per unique job request
|
||||||
*/
|
*/
|
||||||
const startResultTimer = async () => {
|
const startResultTimer = async () => {};
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
watcher.changeSubject.subscribe({
|
watcher.changeSubject.subscribe({
|
||||||
next: async (distributedDoc) => {
|
next: async (distributedDoc) => {
|
||||||
distributedDoc
|
distributedDoc;
|
||||||
}
|
},
|
||||||
})
|
});
|
||||||
while (this.ownInstance.data.status !== 'stopped') {
|
while (this.ownInstance.data.status !== 'stopped') {
|
||||||
await plugins.smartdelay.delayFor(1000);
|
await plugins.smartdelay.delayFor(1000);
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
|
|
||||||
// abstract implemented methods
|
// abstract implemented methods
|
||||||
public async fireDistributedTaskRequest(
|
public async fireDistributedTaskRequest(
|
||||||
@ -183,9 +181,11 @@ export class SmartdataDistributedCoordinator extends plugins.taskbuffer.distribu
|
|||||||
infoBasisArg: plugins.taskbuffer.distributedCoordination.IDistributedTaskRequest
|
infoBasisArg: plugins.taskbuffer.distributedCoordination.IDistributedTaskRequest
|
||||||
): Promise<void> {
|
): Promise<void> {
|
||||||
await this.asyncExecutionStack.getExclusiveExecutionSlot(async () => {
|
await this.asyncExecutionStack.getExclusiveExecutionSlot(async () => {
|
||||||
const existingInfoBasis = this.ownInstance.data.taskRequests.find(infoBasisItem => {
|
const existingInfoBasis = this.ownInstance.data.taskRequests.find((infoBasisItem) => {
|
||||||
return infoBasisItem.taskName === infoBasisArg.taskName
|
return (
|
||||||
&& infoBasisItem.taskExecutionTime === infoBasisArg.taskExecutionTime;
|
infoBasisItem.taskName === infoBasisArg.taskName &&
|
||||||
|
infoBasisItem.taskExecutionTime === infoBasisArg.taskExecutionTime
|
||||||
|
);
|
||||||
});
|
});
|
||||||
Object.assign(existingInfoBasis, infoBasisArg);
|
Object.assign(existingInfoBasis, infoBasisArg);
|
||||||
await this.ownInstance.save();
|
await this.ownInstance.save();
|
||||||
@ -194,8 +194,8 @@ export class SmartdataDistributedCoordinator extends plugins.taskbuffer.distribu
|
|||||||
const indexToRemove = this.ownInstance.data.taskRequests.indexOf(existingInfoBasis);
|
const indexToRemove = this.ownInstance.data.taskRequests.indexOf(existingInfoBasis);
|
||||||
this.ownInstance.data.taskRequests.splice(indexToRemove, indexToRemove);
|
this.ownInstance.data.taskRequests.splice(indexToRemove, indexToRemove);
|
||||||
await this.ownInstance.save();
|
await this.ownInstance.save();
|
||||||
})
|
});
|
||||||
})
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -101,8 +101,9 @@ export class EasyStore<T> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public async cleanUpEphermal() {
|
public async cleanUpEphermal() {
|
||||||
while(await this.smartdataDbRef.statusConnectedDeferred.promise && this.smartdataDbRef.status === 'connected') {
|
while (
|
||||||
|
(await this.smartdataDbRef.statusConnectedDeferred.promise) &&
|
||||||
}
|
this.smartdataDbRef.status === 'connected'
|
||||||
|
) {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user