better-lock 2.0.3 → 3.0.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.
- package/.idea/prettier.xml +1 -0
- package/README.md +54 -41
- package/dist/better_lock.js +13 -13
- package/dist/better_lock.js.map +1 -1
- package/dist/errors.d.ts +3 -1
- package/dist/errors.js +11 -12
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js.map +1 -1
- package/dist/internals.js +2 -2
- package/dist/internals.js.map +1 -1
- package/dist/options.d.ts +5 -0
- package/dist/types.d.ts +1 -1
- package/docs/assets/highlight.css +3 -3
- package/docs/assets/main.js +4 -2
- package/docs/assets/search.js +1 -1
- package/docs/assets/style.css +424 -538
- package/docs/classes/BetterLockError.html +109 -5
- package/docs/classes/BetterLockExecutionTimeoutError.html +122 -5
- package/docs/classes/BetterLockInternalError.html +101 -5
- package/docs/classes/BetterLockInvalidArgumentError.html +112 -5
- package/docs/classes/BetterLockJobAbortedError.html +115 -5
- package/docs/classes/BetterLockQueueOverflowError.html +142 -5
- package/docs/classes/BetterLockWaitTimeoutError.html +122 -5
- package/docs/classes/_internal_.BetterLock.html +297 -65
- package/docs/classes/_internal_.KeyQueue.html +126 -7
- package/docs/classes/_internal_.LockJob.html +225 -27
- package/docs/index.html +83 -13
- package/docs/interfaces/BetterLockJobOptions.html +89 -9
- package/docs/interfaces/BetterLockOptions.html +149 -17
- package/docs/modules/_internal_.__home_panta_dev_pantas_better_lock_src_errors_.html +80 -1
- package/docs/modules/_internal_.html +68 -7
- package/docs/modules.html +96 -5
- package/docs/types/BetterLockErrorName.html +61 -0
- package/docs/types/BetterLockExecutor.html +63 -0
- package/docs/types/BetterLockKey.html +61 -0
- package/docs/types/BetterLockQueueEjectionStrategy.html +59 -0
- package/docs/types/_internal_.ICallback.html +59 -0
- package/docs/types/_internal_.ICallbackExecutor.html +73 -0
- package/docs/types/_internal_.IErrorExports.html +52 -0
- package/docs/types/_internal_.IPromiseExecutor.html +65 -0
- package/docs/variables/BetterLock.html +59 -0
- package/package.json +6 -6
- package/spec/better_lock.spec.ts +37 -1
- package/src/better_lock.ts +7 -5
- package/src/errors.ts +5 -2
- package/src/index.ts +2 -1
- package/src/options.ts +7 -0
- package/src/types.ts +2 -2
- package/docs/assets/icons.css +0 -1043
- package/docs/assets/icons.png +0 -0
- package/docs/assets/icons@2x.png +0 -0
package/.idea/prettier.xml
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
2
|
<project version="4">
|
|
3
3
|
<component name="PrettierConfiguration">
|
|
4
|
+
<option name="myConfigurationMode" value="AUTOMATIC" />
|
|
4
5
|
<option name="myRunOnSave" value="true" />
|
|
5
6
|
<option name="myRunOnReformat" value="true" />
|
|
6
7
|
<option name="myFilesPattern" value="{**/*,*}" />
|
package/README.md
CHANGED
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
A (better) node.js lock library.
|
|
4
4
|
|
|
5
|
-

|
|
6
|
-
|
|
7
5
|
### Features
|
|
8
6
|
|
|
9
7
|
- Typescript-ready
|
|
@@ -44,8 +42,7 @@ try {
|
|
|
44
42
|
|
|
45
43
|
// Outside the lock. You will get whatever the promise chain has returned.
|
|
46
44
|
console.log(res); // "my result"
|
|
47
|
-
}
|
|
48
|
-
catch (err) {
|
|
45
|
+
} catch (err) {
|
|
49
46
|
// Either your or BetterLock's error
|
|
50
47
|
}
|
|
51
48
|
```
|
|
@@ -54,11 +51,11 @@ catch (err) {
|
|
|
54
51
|
|
|
55
52
|
```typescript
|
|
56
53
|
const lock = new BetterLock({
|
|
57
|
-
name: 'FileLock',
|
|
58
|
-
log: winstonLogger.debug,
|
|
59
|
-
wait_timeout: 1000 * 30,
|
|
60
|
-
execution_timeout: 1000 * 60 * 5,
|
|
61
|
-
queue_size: 1,
|
|
54
|
+
name: 'FileLock', // To be used in error reporting and logging
|
|
55
|
+
log: winstonLogger.debug, // Give it your logger with appropeiate level
|
|
56
|
+
wait_timeout: 1000 * 30, // Max 30 sec wait in queue
|
|
57
|
+
execution_timeout: 1000 * 60 * 5, // Time out after 5 minutes
|
|
58
|
+
queue_size: 1, // At most one pending job
|
|
62
59
|
});
|
|
63
60
|
|
|
64
61
|
async function processFile(filename) {
|
|
@@ -69,14 +66,13 @@ async function processFile(filename) {
|
|
|
69
66
|
});
|
|
70
67
|
return {
|
|
71
68
|
status: true,
|
|
72
|
-
result
|
|
69
|
+
result,
|
|
73
70
|
};
|
|
74
|
-
}
|
|
75
|
-
catch (err) {
|
|
71
|
+
} catch (err) {
|
|
76
72
|
if (err instanceof BetterLock.QueueOverflowError) {
|
|
77
73
|
// The job was discarded
|
|
78
74
|
return {
|
|
79
|
-
status: false
|
|
75
|
+
status: false,
|
|
80
76
|
};
|
|
81
77
|
}
|
|
82
78
|
|
|
@@ -86,7 +82,6 @@ async function processFile(filename) {
|
|
|
86
82
|
throw err;
|
|
87
83
|
}
|
|
88
84
|
}
|
|
89
|
-
|
|
90
85
|
```
|
|
91
86
|
|
|
92
87
|
##### Locking on multiple keys
|
|
@@ -98,21 +93,17 @@ const userLock = new BetterLock({
|
|
|
98
93
|
});
|
|
99
94
|
|
|
100
95
|
function transferBetweenUsers(fromId, toId, amount) {
|
|
101
|
-
userLock
|
|
102
|
-
|
|
103
|
-
User.get(fromId),
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
]);
|
|
96
|
+
userLock
|
|
97
|
+
.acquire([fromId, toId], () => {
|
|
98
|
+
return Promise.all([User.get(fromId), User.get(toId)]).then(([fromUser, toUser]) => {
|
|
99
|
+
fromUser.amount -= amount;
|
|
100
|
+
toUser.amount += amount;
|
|
101
|
+
return Promise.all([user1.save(), user2.save()]);
|
|
102
|
+
});
|
|
103
|
+
})
|
|
104
|
+
.then(() => {
|
|
105
|
+
console.log('Transfer completed');
|
|
112
106
|
});
|
|
113
|
-
}).then(() => {
|
|
114
|
-
console.log('Transfer completed');
|
|
115
|
-
});
|
|
116
107
|
}
|
|
117
108
|
```
|
|
118
109
|
|
|
@@ -123,19 +114,22 @@ const BetterLock = require('better-lock');
|
|
|
123
114
|
|
|
124
115
|
const lock = new BetterLock();
|
|
125
116
|
//...
|
|
126
|
-
lock.acquire(
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
//
|
|
136
|
-
|
|
117
|
+
lock.acquire(
|
|
118
|
+
done => {
|
|
119
|
+
// Inside the lock
|
|
120
|
+
doMyAsyncStuffHere(err => {
|
|
121
|
+
// Call done when done
|
|
122
|
+
done(err);
|
|
123
|
+
});
|
|
124
|
+
},
|
|
125
|
+
(err, result) => {
|
|
126
|
+
// Outside the lock
|
|
127
|
+
if (err) {
|
|
128
|
+
// Either your or BetterLock's error
|
|
129
|
+
console.error(err);
|
|
130
|
+
}
|
|
137
131
|
}
|
|
138
|
-
|
|
132
|
+
);
|
|
139
133
|
```
|
|
140
134
|
|
|
141
135
|
You can see a bunch more usage examples in the spec file, [here](spec/better_lock.spec.ts);
|
|
@@ -174,7 +168,7 @@ Example:
|
|
|
174
168
|
|
|
175
169
|
```javascript
|
|
176
170
|
lock.acquire(executor, callback, {
|
|
177
|
-
wait_timeout: 1000
|
|
171
|
+
wait_timeout: 1000,
|
|
178
172
|
});
|
|
179
173
|
```
|
|
180
174
|
|
|
@@ -190,6 +184,9 @@ Most commonly used options are:
|
|
|
190
184
|
- `queue_size`
|
|
191
185
|
Max queue size for waiting jobs.
|
|
192
186
|
|
|
187
|
+
- `queue_ejection_strategy`
|
|
188
|
+
Which job to eject from the queue when it's full. Default is `newest`.
|
|
189
|
+
|
|
193
190
|
Default options are a static member `DEFAULT_OPTIONS` on the `BetterLock` class. During runtime, you can change the defaults like this:
|
|
194
191
|
|
|
195
192
|
```javascript
|
|
@@ -217,6 +214,22 @@ The library is not a good fit if:
|
|
|
217
214
|
|
|
218
215
|
### Change log
|
|
219
216
|
|
|
217
|
+
#### **3.0.0** (_2024/04/18_)
|
|
218
|
+
|
|
219
|
+
Add option `queue_ejection_strategy`.
|
|
220
|
+
|
|
221
|
+
Major version bump because the default strategy changed from "newest" (the old assumed value) to "newest" (makes more sense).
|
|
222
|
+
|
|
223
|
+
To migrate, specify:
|
|
224
|
+
|
|
225
|
+
```javascript
|
|
226
|
+
{
|
|
227
|
+
"queue_ejection_strategy": "newest"
|
|
228
|
+
}
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
in your job options.
|
|
232
|
+
|
|
220
233
|
#### **2.0.3** (_2022/05/28_)
|
|
221
234
|
|
|
222
235
|
Introduce generated API docs. Remove beta tag from npm version.
|
package/dist/better_lock.js
CHANGED
|
@@ -131,7 +131,7 @@ var BetterLock = /** @class */ (function () {
|
|
|
131
131
|
job.wait_timeout_id = setTimeout(function () { return _this.onWaitTimeout(job); }, job.options.wait_timeout);
|
|
132
132
|
// NOTE: timeout of 0 will NOT trigger error if lock can be acquired immediately.
|
|
133
133
|
}
|
|
134
|
-
this.log("Enqueued "
|
|
134
|
+
this.log("Enqueued ".concat(job));
|
|
135
135
|
// Perform update of queues this job has modified. We don't do this in next tick or something,
|
|
136
136
|
// because we want canAcquire to immediately return false
|
|
137
137
|
if (queuesToUpdate.length) {
|
|
@@ -161,18 +161,18 @@ var BetterLock = /** @class */ (function () {
|
|
|
161
161
|
}
|
|
162
162
|
// Handle wait queue overflow
|
|
163
163
|
if (tools.isNumber(this.options.queue_size) && this.options.queue_size < queue.jobs.length) {
|
|
164
|
-
|
|
165
|
-
var
|
|
166
|
-
this.log(queue.toString()
|
|
167
|
-
this.endJob(
|
|
168
|
-
new errors_1.BetterLockQueueOverflowError(this.options.name, queue.key, queue.jobs.length,
|
|
164
|
+
var strategy = this.options.queue_ejection_strategy || 'oldest';
|
|
165
|
+
var targetJob = queue.jobs[strategy === 'oldest' ? 0 : queue.jobs.length - 1];
|
|
166
|
+
this.log("".concat(queue.toString(), " has overflown, so the ").concat(strategy, " job (").concat(targetJob, ") was kicked out"));
|
|
167
|
+
this.endJob(targetJob, [
|
|
168
|
+
new errors_1.BetterLockQueueOverflowError(this.options.name, queue.key, queue.jobs.length, targetJob, strategy),
|
|
169
169
|
]);
|
|
170
170
|
}
|
|
171
171
|
}
|
|
172
172
|
};
|
|
173
173
|
BetterLock.prototype.executeJob = function (job) {
|
|
174
174
|
var _this = this;
|
|
175
|
-
this.log("Executing "
|
|
175
|
+
this.log("Executing ".concat(job));
|
|
176
176
|
// Clear wait timeout
|
|
177
177
|
clearTimeout(job.wait_timeout_id);
|
|
178
178
|
job.wait_timeout_id = null;
|
|
@@ -189,7 +189,7 @@ var BetterLock = /** @class */ (function () {
|
|
|
189
189
|
if (queue.active !== job) {
|
|
190
190
|
// This should never happen
|
|
191
191
|
return _this.endJob(job, [
|
|
192
|
-
new errors_1.BetterLockInternalError(_this.options.name, "Corrupted wait queue state for "
|
|
192
|
+
new errors_1.BetterLockInternalError(_this.options.name, "Corrupted wait queue state for ".concat(queue.key)),
|
|
193
193
|
]);
|
|
194
194
|
}
|
|
195
195
|
}
|
|
@@ -203,7 +203,7 @@ var BetterLock = /** @class */ (function () {
|
|
|
203
203
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
204
204
|
args[_i] = arguments[_i];
|
|
205
205
|
}
|
|
206
|
-
_this.log("Done called for "
|
|
206
|
+
_this.log("Done called for ".concat(job));
|
|
207
207
|
_this.endJob(job, args);
|
|
208
208
|
};
|
|
209
209
|
if (job.executor.length > 0) {
|
|
@@ -231,17 +231,17 @@ var BetterLock = /** @class */ (function () {
|
|
|
231
231
|
});
|
|
232
232
|
};
|
|
233
233
|
BetterLock.prototype.onWaitTimeout = function (job) {
|
|
234
|
-
this.log(job
|
|
234
|
+
this.log("".concat(job, " has timed out after waiting in queue for ").concat(new Date().valueOf() - job.enqueued_at.valueOf(), "ms"));
|
|
235
235
|
this.endJob(job, [new errors_1.BetterLockWaitTimeoutError(this.options.name, job)]);
|
|
236
236
|
};
|
|
237
237
|
BetterLock.prototype.onExecutionTimeout = function (job) {
|
|
238
|
-
this.log(job
|
|
238
|
+
this.log("".concat(job, " has timed out after executing for ").concat(new Date().valueOf() - job.executed_at.valueOf(), "ms"));
|
|
239
239
|
this.endJob(job, [new errors_1.BetterLockExecutionTimeoutError(this.options.name, job)]);
|
|
240
240
|
};
|
|
241
241
|
BetterLock.prototype.endJob = function (job, callbackArgs) {
|
|
242
242
|
var _this = this;
|
|
243
243
|
if (job.ended_at) {
|
|
244
|
-
this.log("WARNING: "
|
|
244
|
+
this.log("WARNING: ".concat(job, " is trying to end, but it has already ended at ").concat(job.ended_at.toISOString(), ". Called with arguments: ").concat(callbackArgs));
|
|
245
245
|
return;
|
|
246
246
|
}
|
|
247
247
|
clearTimeout(job.wait_timeout_id);
|
|
@@ -266,7 +266,7 @@ var BetterLock = /** @class */ (function () {
|
|
|
266
266
|
}
|
|
267
267
|
else {
|
|
268
268
|
// Something is wrong. Where did this job come from?
|
|
269
|
-
this.log("WARNING: "
|
|
269
|
+
this.log("WARNING: ".concat(job, " is ending, but it is not found anywhere in the queue for ").concat(queue.key));
|
|
270
270
|
}
|
|
271
271
|
}
|
|
272
272
|
}
|
package/dist/better_lock.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"better_lock.js","sourceRoot":"","sources":["../src/better_lock.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"better_lock.js","sourceRoot":"","sources":["../src/better_lock.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { LockJob } from './internals';
|
|
2
2
|
import { IErrorName } from './types';
|
|
3
|
+
import { IQueueEjectionStrategy } from './options';
|
|
3
4
|
export declare class BetterLockError extends Error {
|
|
4
5
|
/**
|
|
5
6
|
* Name of the lock that caused the error
|
|
@@ -35,7 +36,8 @@ export declare class BetterLockQueueOverflowError extends BetterLockError {
|
|
|
35
36
|
keys: string[];
|
|
36
37
|
job_count: number;
|
|
37
38
|
kicked_out_job_id: number;
|
|
38
|
-
|
|
39
|
+
strategy: IQueueEjectionStrategy;
|
|
40
|
+
constructor(lockName: any, key: any, count: any, job: LockJob<any>, strategy: IQueueEjectionStrategy);
|
|
39
41
|
}
|
|
40
42
|
export declare class BetterLockJobAbortedError extends BetterLockError {
|
|
41
43
|
job_id: number;
|
package/dist/errors.js
CHANGED
|
@@ -20,15 +20,15 @@ var internals_1 = require("./internals");
|
|
|
20
20
|
var BetterLockError = /** @class */ (function (_super) {
|
|
21
21
|
__extends(BetterLockError, _super);
|
|
22
22
|
function BetterLockError(lockName, message, incomingStack) {
|
|
23
|
-
var _newTarget = this.constructor;
|
|
24
23
|
if (incomingStack === void 0) { incomingStack = null; }
|
|
24
|
+
var _newTarget = this.constructor;
|
|
25
25
|
var _this = this;
|
|
26
26
|
// Fix typescript custom Error prototype chain
|
|
27
27
|
// https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work
|
|
28
28
|
// https://github.com/reduardo7/ts-base-error/blob/master/src/index.ts
|
|
29
29
|
var trueProto = _newTarget.prototype;
|
|
30
30
|
if (lockName) {
|
|
31
|
-
_this = _super.call(this, "["
|
|
31
|
+
_this = _super.call(this, "[".concat(lockName, "] ").concat(message)) || this;
|
|
32
32
|
}
|
|
33
33
|
else {
|
|
34
34
|
_this = _super.call(this, message) || this;
|
|
@@ -51,13 +51,11 @@ exports.BetterLockError = BetterLockError;
|
|
|
51
51
|
var BetterLockInternalError = /** @class */ (function (_super) {
|
|
52
52
|
__extends(BetterLockInternalError, _super);
|
|
53
53
|
function BetterLockInternalError(lockName, message) {
|
|
54
|
-
var _this = this;
|
|
55
54
|
var lastChar = message[message.length - 1];
|
|
56
55
|
if (lastChar !== '.' && lastChar !== '!' && lastChar !== '?') {
|
|
57
56
|
message += '.';
|
|
58
57
|
}
|
|
59
|
-
|
|
60
|
-
return _this;
|
|
58
|
+
return _super.call(this, lockName, message + ' This is probably a bug inside "better-lock" library') || this;
|
|
61
59
|
}
|
|
62
60
|
return BetterLockInternalError;
|
|
63
61
|
}(BetterLockError));
|
|
@@ -65,7 +63,7 @@ exports.BetterLockInternalError = BetterLockInternalError;
|
|
|
65
63
|
var BetterLockInvalidArgumentError = /** @class */ (function (_super) {
|
|
66
64
|
__extends(BetterLockInvalidArgumentError, _super);
|
|
67
65
|
function BetterLockInvalidArgumentError(lockName, argument, expected, actual) {
|
|
68
|
-
var _this = _super.call(this, lockName, "Argument \""
|
|
66
|
+
var _this = _super.call(this, lockName, "Argument \"".concat(argument, "\" must be ").concat(expected, " (got: \"").concat(actual, "\")")) || this;
|
|
69
67
|
_this.argument = argument;
|
|
70
68
|
_this.argument = argument;
|
|
71
69
|
return _this;
|
|
@@ -77,7 +75,7 @@ var BetterLockWaitTimeoutError = /** @class */ (function (_super) {
|
|
|
77
75
|
__extends(BetterLockWaitTimeoutError, _super);
|
|
78
76
|
function BetterLockWaitTimeoutError(lockName, job) {
|
|
79
77
|
var _this = this;
|
|
80
|
-
var message = job
|
|
78
|
+
var message = "".concat(job, " has timed out after ").concat(new Date().valueOf() - job.enqueued_at.valueOf(), "ms in wait queue");
|
|
81
79
|
_this = _super.call(this, lockName, message, job.incoming_stack) || this;
|
|
82
80
|
_this.job_id = job.id;
|
|
83
81
|
_this.keys = job.keys;
|
|
@@ -91,7 +89,7 @@ var BetterLockExecutionTimeoutError = /** @class */ (function (_super) {
|
|
|
91
89
|
__extends(BetterLockExecutionTimeoutError, _super);
|
|
92
90
|
function BetterLockExecutionTimeoutError(lockName, job) {
|
|
93
91
|
var _this = this;
|
|
94
|
-
var message = job
|
|
92
|
+
var message = "".concat(job, " has timed out after ").concat(new Date().valueOf() - job.executed_at.valueOf(), "ms of execution");
|
|
95
93
|
_this = _super.call(this, lockName, message, job.incoming_stack) || this;
|
|
96
94
|
_this.job_id = job.id;
|
|
97
95
|
_this.keys = job.keys;
|
|
@@ -103,15 +101,16 @@ var BetterLockExecutionTimeoutError = /** @class */ (function (_super) {
|
|
|
103
101
|
exports.BetterLockExecutionTimeoutError = BetterLockExecutionTimeoutError;
|
|
104
102
|
var BetterLockQueueOverflowError = /** @class */ (function (_super) {
|
|
105
103
|
__extends(BetterLockQueueOverflowError, _super);
|
|
106
|
-
function BetterLockQueueOverflowError(lockName, key, count, job) {
|
|
104
|
+
function BetterLockQueueOverflowError(lockName, key, count, job, strategy) {
|
|
107
105
|
var _this = this;
|
|
108
|
-
var keyDesignation = key === internals_1.KeyQueue.DEFAULT_QUEUE_KEY ? '' : " for key \""
|
|
109
|
-
var message = "Too many jobs ("
|
|
106
|
+
var keyDesignation = key === internals_1.KeyQueue.DEFAULT_QUEUE_KEY ? '' : " for key \"".concat(key, "\"");
|
|
107
|
+
var message = "Too many jobs (".concat(count, ") are waiting").concat(keyDesignation, ". The ").concat(strategy, " job (").concat(job, ") was kicked out");
|
|
110
108
|
_this = _super.call(this, lockName, message, job.incoming_stack) || this;
|
|
111
109
|
_this.job_id = job.id;
|
|
112
110
|
_this.keys = job.keys;
|
|
113
111
|
_this.job_count = count;
|
|
114
112
|
_this.kicked_out_job_id = job.id;
|
|
113
|
+
_this.strategy = strategy;
|
|
115
114
|
return _this;
|
|
116
115
|
}
|
|
117
116
|
return BetterLockQueueOverflowError;
|
|
@@ -120,7 +119,7 @@ exports.BetterLockQueueOverflowError = BetterLockQueueOverflowError;
|
|
|
120
119
|
var BetterLockJobAbortedError = /** @class */ (function (_super) {
|
|
121
120
|
__extends(BetterLockJobAbortedError, _super);
|
|
122
121
|
function BetterLockJobAbortedError(lockName, job) {
|
|
123
|
-
var _this = _super.call(this, lockName, job
|
|
122
|
+
var _this = _super.call(this, lockName, "".concat(job, " has been aborted by the user"), job.incoming_stack) || this;
|
|
124
123
|
_this.job_id = job.id;
|
|
125
124
|
_this.keys = job.keys;
|
|
126
125
|
return _this;
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,yCAAgD;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { BetterLock as BetterLockUnadorned } from './better_lock';
|
|
2
2
|
import { BetterLockError, BetterLockExecutionTimeoutError, BetterLockInternalError, BetterLockInvalidArgumentError, BetterLockJobAbortedError, BetterLockQueueOverflowError, BetterLockWaitTimeoutError } from './errors';
|
|
3
|
-
import { ILockJobOptions as BetterLockJobOptions, IOptions as BetterLockOptions } from './options';
|
|
3
|
+
import { ILockJobOptions as BetterLockJobOptions, IOptions as BetterLockOptions, IQueueEjectionStrategy as BetterLockQueueEjectionStrategy } from './options';
|
|
4
4
|
import { IErrorName as BetterLockErrorName, IExecutor as BetterLockExecutor, ILockKey as BetterLockKey } from './types';
|
|
5
|
-
export { BetterLockOptions, BetterLockJobOptions, BetterLockExecutor, BetterLockKey, BetterLockErrorName, BetterLockError, BetterLockExecutionTimeoutError, BetterLockInternalError, BetterLockInvalidArgumentError, BetterLockJobAbortedError, BetterLockQueueOverflowError, BetterLockWaitTimeoutError, };
|
|
5
|
+
export { BetterLockOptions, BetterLockQueueEjectionStrategy, BetterLockJobOptions, BetterLockExecutor, BetterLockKey, BetterLockErrorName, BetterLockError, BetterLockExecutionTimeoutError, BetterLockInternalError, BetterLockInvalidArgumentError, BetterLockJobAbortedError, BetterLockQueueOverflowError, BetterLockWaitTimeoutError, };
|
|
6
6
|
export declare const BetterLock: typeof BetterLockUnadorned & {
|
|
7
7
|
BetterLock: typeof BetterLockUnadorned;
|
|
8
8
|
Error: typeof BetterLockError;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,6CAAkE;AAClE,mCAQkB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,6CAAkE;AAClE,mCAQkB;AAgBhB,gGAvBA,wBAAe,OAuBA;AACf,gHAvBA,wCAA+B,OAuBA;AAC/B,wGAvBA,gCAAuB,OAuBA;AACvB,+GAvBA,uCAA8B,OAuBA;AAC9B,0GAvBA,kCAAyB,OAuBA;AACzB,6GAvBA,qCAA4B,OAuBA;AAC5B,2GAvBA,mCAA0B,OAuBA;AAG5B,SAAS,aAAa,CACpB,MAAe,EACf,OAAiB;IAEjB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,MAAa,CAAC;AACvB,CAAC;AAEY,QAAA,UAAU,GAAG,aAAa,CAAC,wBAAmB,EAAE;IAC3D,UAAU,EAAE,wBAAmB;IAE/B,KAAK,EAAE,wBAAe;IACtB,aAAa,EAAE,gCAAuB;IACtC,oBAAoB,EAAE,uCAA8B;IACpD,gBAAgB,EAAE,mCAA0B;IAC5C,qBAAqB,EAAE,wCAA+B;IACtD,kBAAkB,EAAE,qCAA4B;IAChD,eAAe,EAAE,kCAAyB;CAC3C,CAAC,CAAC;AAEH,kBAAe,kBAAU,CAAC"}
|
package/dist/internals.js
CHANGED
|
@@ -41,7 +41,7 @@ var LockJob = /** @class */ (function () {
|
|
|
41
41
|
this.options = options;
|
|
42
42
|
}
|
|
43
43
|
LockJob.prototype.toString = function () {
|
|
44
|
-
return "Job #"
|
|
44
|
+
return "Job #".concat(this.id, " [").concat(this.keys.join(', '), "]");
|
|
45
45
|
};
|
|
46
46
|
LockJob._lastId = 0;
|
|
47
47
|
return LockJob;
|
|
@@ -65,7 +65,7 @@ var KeyQueue = /** @class */ (function () {
|
|
|
65
65
|
this.key = key;
|
|
66
66
|
}
|
|
67
67
|
KeyQueue.prototype.toString = function () {
|
|
68
|
-
return this.key === KeyQueue.DEFAULT_QUEUE_KEY ? 'JobQueue' : "JobQueue<"
|
|
68
|
+
return this.key === KeyQueue.DEFAULT_QUEUE_KEY ? 'JobQueue' : "JobQueue<".concat(this.key, ">");
|
|
69
69
|
};
|
|
70
70
|
// We will use this key when user doesn't supply anything
|
|
71
71
|
KeyQueue.DEFAULT_QUEUE_KEY = '___DEFAULT_QUEUE_KEY___';
|
package/dist/internals.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internals.js","sourceRoot":"","sources":["../src/internals.ts"],"names":[],"mappings":";;;AAGA;;GAEG;AACH;IA8DE,iBACE,IAA0B,EAC1B,QAA4B,EAC5B,QAA4B,EAC5B,OAAwB;QA/D1B,kDAAkD;QAC3C,OAAE,GAAG,SAAS,CAAC;QAuBtB;;WAEG;QACI,gBAAW,GAAS,IAAI,IAAI,EAAE,CAAC;QAEtC;;WAEG;QACI,gBAAW,GAAS,IAAI,CAAC;QAEhC;;WAEG;QACI,aAAQ,GAAS,IAAI,CAAC;QAO7B;;WAEG;QACI,oBAAe,GAAG,IAAI,CAAC;QAE9B;;WAEG;QACI,yBAAoB,GAAG,IAAI,CAAC;QAEnC;;WAEG;QACI,mBAAc,GAAW,IAAI,CAAC;QAQnC,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,0BAAQ,GAAR;QACE,OAAO,
|
|
1
|
+
{"version":3,"file":"internals.js","sourceRoot":"","sources":["../src/internals.ts"],"names":[],"mappings":";;;AAGA;;GAEG;AACH;IA8DE,iBACE,IAA0B,EAC1B,QAA4B,EAC5B,QAA4B,EAC5B,OAAwB;QA/D1B,kDAAkD;QAC3C,OAAE,GAAG,SAAS,CAAC;QAuBtB;;WAEG;QACI,gBAAW,GAAS,IAAI,IAAI,EAAE,CAAC;QAEtC;;WAEG;QACI,gBAAW,GAAS,IAAI,CAAC;QAEhC;;WAEG;QACI,aAAQ,GAAS,IAAI,CAAC;QAO7B;;WAEG;QACI,oBAAe,GAAG,IAAI,CAAC;QAE9B;;WAEG;QACI,yBAAoB,GAAG,IAAI,CAAC;QAEnC;;WAEG;QACI,mBAAc,GAAW,IAAI,CAAC;QAQnC,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,0BAAQ,GAAR;QACE,OAAO,eAAQ,IAAI,CAAC,EAAE,eAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAG,CAAC;IACrD,CAAC;IA9EM,eAAO,GAAG,CAAC,CAAC;IA+ErB,cAAC;CAAA,AAhFD,IAgFC;AAhFY,0BAAO;AAkFpB,wHAAwH;AAExH;;GAEG;AACH;IAiBE,kBAAY,GAAY;QAXxB;;;WAGG;QACI,SAAI,GAAmB,EAAE,CAAC;QAEjC;;WAEG;QACI,WAAM,GAAiB,IAAI,CAAC;QAGjC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,2BAAQ,GAAR;QACE,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,mBAAY,IAAI,CAAC,GAAG,MAAG,CAAC;IACxF,CAAC;IAtBD,yDAAyD;IACzC,0BAAiB,GAAG,yBAAyB,CAAC;IAsBhE,eAAC;CAAA,AAxBD,IAwBC;AAxBY,4BAAQ"}
|
package/dist/options.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export interface ILockJobOptions {
|
|
|
15
15
|
*/
|
|
16
16
|
extend_stack_traces?: boolean;
|
|
17
17
|
}
|
|
18
|
+
export declare type IQueueEjectionStrategy = 'oldest' | 'newest';
|
|
18
19
|
/**
|
|
19
20
|
* Options that apply on BetterLock instance
|
|
20
21
|
*/
|
|
@@ -32,6 +33,10 @@ export interface IOptions extends ILockJobOptions {
|
|
|
32
33
|
* Max queue size for waiting jobs.
|
|
33
34
|
*/
|
|
34
35
|
queue_size?: number | null;
|
|
36
|
+
/**
|
|
37
|
+
* If queue is full, which job to eject. Defaults to 'oldest'.
|
|
38
|
+
*/
|
|
39
|
+
queue_ejection_strategy?: IQueueEjectionStrategy;
|
|
35
40
|
/**
|
|
36
41
|
* Lock name. This will be written in all logs and error messages, to help you distinguish between different locks
|
|
37
42
|
*/
|
package/dist/types.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export declare type IErrorName = keyof IErrorExports;
|
|
|
8
8
|
* User-supplied callback. We support a "canonical" callback, with just error and result,
|
|
9
9
|
* but also old-school callbacks, with varargs return values.
|
|
10
10
|
*/
|
|
11
|
-
export declare type ICallback<TResult> = TResult extends any[] ? (err
|
|
11
|
+
export declare type ICallback<TResult> = TResult extends any[] ? (err: Error | null, ...result: TResult) => void : (err: Error | null, result?: TResult) => void;
|
|
12
12
|
/**
|
|
13
13
|
* Function that user will supply as the thing that will be running inside lock.
|
|
14
14
|
* It can either accept a done() function, or return a promise.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
--dark-hl-8: #B5CEA8;
|
|
20
20
|
--light-hl-9: #267F99;
|
|
21
21
|
--dark-hl-9: #4EC9B0;
|
|
22
|
-
--light-code-background: #
|
|
22
|
+
--light-code-background: #FFFFFF;
|
|
23
23
|
--dark-code-background: #1E1E1E;
|
|
24
24
|
}
|
|
25
25
|
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
--code-background: var(--dark-code-background);
|
|
52
52
|
} }
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
:root[data-theme='light'] {
|
|
55
55
|
--hl-0: var(--light-hl-0);
|
|
56
56
|
--hl-1: var(--light-hl-1);
|
|
57
57
|
--hl-2: var(--light-hl-2);
|
|
@@ -65,7 +65,7 @@ body.light {
|
|
|
65
65
|
--code-background: var(--light-code-background);
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
|
|
68
|
+
:root[data-theme='dark'] {
|
|
69
69
|
--hl-0: var(--dark-hl-0);
|
|
70
70
|
--hl-1: var(--dark-hl-1);
|
|
71
71
|
--hl-2: var(--dark-hl-2);
|