@jsm-mit/rabbit-motoko-package 0.5.0 → 0.6.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/declarations/rabbit-motoko-backend/rabbit-motoko-backend.did +21 -22
- package/declarations/rabbit-motoko-backend/rabbit-motoko-backend.did.d.ts +21 -22
- package/declarations/rabbit-motoko-backend/rabbit-motoko-backend.did.js +21 -25
- package/dist/rabbit-task-worker.d.ts.map +1 -1
- package/dist/rabbit-task-worker.js +7 -1
- package/package.json +1 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
type TaskId = nat;
|
|
1
2
|
type Task =
|
|
2
3
|
record {
|
|
3
4
|
channel: text;
|
|
@@ -5,7 +6,7 @@ type Task =
|
|
|
5
6
|
completedAt: int;
|
|
6
7
|
createdAt: int;
|
|
7
8
|
expiresAt: int;
|
|
8
|
-
id:
|
|
9
|
+
id: TaskId;
|
|
9
10
|
parentIds: opt vec nat;
|
|
10
11
|
payload: text;
|
|
11
12
|
resultMessage: text;
|
|
@@ -16,66 +17,64 @@ type Task =
|
|
|
16
17
|
type Result_4 =
|
|
17
18
|
variant {
|
|
18
19
|
err: Error;
|
|
19
|
-
ok:
|
|
20
|
+
ok: TaskId;
|
|
20
21
|
};
|
|
21
22
|
type Result_3 =
|
|
22
23
|
variant {
|
|
23
24
|
err: Error;
|
|
24
|
-
ok:
|
|
25
|
+
ok: bool;
|
|
25
26
|
};
|
|
26
27
|
type Result_2 =
|
|
27
28
|
variant {
|
|
28
29
|
err: Error;
|
|
29
|
-
ok:
|
|
30
|
+
ok: vec TaskId;
|
|
30
31
|
};
|
|
31
32
|
type Result_1 =
|
|
32
33
|
variant {
|
|
33
34
|
err: Error;
|
|
34
|
-
ok:
|
|
35
|
+
ok: Task;
|
|
35
36
|
};
|
|
36
37
|
type Result =
|
|
37
38
|
variant {
|
|
38
39
|
err: Error;
|
|
39
|
-
ok:
|
|
40
|
+
ok: vec Task;
|
|
40
41
|
};
|
|
41
42
|
type Error =
|
|
42
43
|
variant {
|
|
43
44
|
AlreadyExists;
|
|
45
|
+
ForcedUpdate: text;
|
|
44
46
|
InvalidData: text;
|
|
45
47
|
NotAuthorized: text;
|
|
46
|
-
NotFound;
|
|
48
|
+
NotFound: text;
|
|
47
49
|
ReturnsNull;
|
|
48
50
|
};
|
|
49
51
|
type CompleteTaskArgs =
|
|
50
52
|
record {
|
|
51
|
-
id:
|
|
53
|
+
id: TaskId;
|
|
52
54
|
message: text;
|
|
53
55
|
};
|
|
54
56
|
type ClaimTaskArgs =
|
|
55
57
|
record {
|
|
56
|
-
id:
|
|
58
|
+
id: TaskId;
|
|
57
59
|
timeoutNanos: int;
|
|
58
60
|
};
|
|
59
61
|
type AddTaskArgs =
|
|
60
62
|
record {
|
|
61
63
|
channel: text;
|
|
62
64
|
commonId: text;
|
|
63
|
-
parentIds: opt vec
|
|
65
|
+
parentIds: opt vec TaskId;
|
|
64
66
|
payload: text;
|
|
65
67
|
};
|
|
66
68
|
service : {
|
|
67
|
-
addTask: (args: AddTaskArgs) -> (
|
|
68
|
-
claimTask: (args: ClaimTaskArgs) -> (
|
|
69
|
-
completeTask: (args: CompleteTaskArgs) -> (
|
|
70
|
-
getAvailableTaskIds: (channel: text) -> (
|
|
71
|
-
getTask: (id: nat) -> (
|
|
72
|
-
getTasks: () -> (
|
|
69
|
+
addTask: (args: AddTaskArgs) -> (Result_4);
|
|
70
|
+
claimTask: (args: ClaimTaskArgs) -> (Result_1);
|
|
71
|
+
completeTask: (args: CompleteTaskArgs) -> (Result_3);
|
|
72
|
+
getAvailableTaskIds: (channel: text) -> (Result_2) query;
|
|
73
|
+
getTask: (id: nat) -> (Result_1) query;
|
|
74
|
+
getTasks: () -> (Result) query;
|
|
73
75
|
getTasksByChannelAndCommonId: (channel: text, commonId: text) ->
|
|
74
|
-
(
|
|
75
|
-
getTasksByCommonId: (commonId: text) -> (
|
|
76
|
-
getTasksLast24h: () -> (
|
|
77
|
-
testErrWithText: () -> (Result) query;
|
|
78
|
-
testErrWithText2: () -> (Result) query;
|
|
79
|
-
testError: () -> (Result) query;
|
|
76
|
+
(Result) query;
|
|
77
|
+
getTasksByCommonId: (commonId: text) -> (Result) query;
|
|
78
|
+
getTasksLast24h: () -> (Result) query;
|
|
80
79
|
whoAmI: () -> (principal) query;
|
|
81
80
|
}
|
|
@@ -3,30 +3,31 @@ import type { ActorMethod } from '@icp-sdk/core/agent';
|
|
|
3
3
|
import type { IDL } from '@icp-sdk/core/candid';
|
|
4
4
|
|
|
5
5
|
export interface AddTaskArgs {
|
|
6
|
-
'parentIds' : [] | [Array<
|
|
6
|
+
'parentIds' : [] | [Array<TaskId>],
|
|
7
7
|
'commonId' : string,
|
|
8
8
|
'channel' : string,
|
|
9
9
|
'payload' : string,
|
|
10
10
|
}
|
|
11
|
-
export interface ClaimTaskArgs { 'id' :
|
|
12
|
-
export interface CompleteTaskArgs { 'id' :
|
|
13
|
-
export type Error = { 'NotFound' :
|
|
11
|
+
export interface ClaimTaskArgs { 'id' : TaskId, 'timeoutNanos' : bigint }
|
|
12
|
+
export interface CompleteTaskArgs { 'id' : TaskId, 'message' : string }
|
|
13
|
+
export type Error = { 'NotFound' : string } |
|
|
14
14
|
{ 'NotAuthorized' : string } |
|
|
15
15
|
{ 'InvalidData' : string } |
|
|
16
16
|
{ 'AlreadyExists' : null } |
|
|
17
|
+
{ 'ForcedUpdate' : string } |
|
|
17
18
|
{ 'ReturnsNull' : null };
|
|
18
|
-
export type Result = { 'ok' :
|
|
19
|
+
export type Result = { 'ok' : Array<Task> } |
|
|
19
20
|
{ 'err' : Error };
|
|
20
|
-
export type Result_1 = { 'ok' :
|
|
21
|
+
export type Result_1 = { 'ok' : Task } |
|
|
21
22
|
{ 'err' : Error };
|
|
22
|
-
export type Result_2 = { 'ok' :
|
|
23
|
+
export type Result_2 = { 'ok' : Array<TaskId> } |
|
|
23
24
|
{ 'err' : Error };
|
|
24
|
-
export type Result_3 = { 'ok' :
|
|
25
|
+
export type Result_3 = { 'ok' : boolean } |
|
|
25
26
|
{ 'err' : Error };
|
|
26
|
-
export type Result_4 = { 'ok' :
|
|
27
|
+
export type Result_4 = { 'ok' : TaskId } |
|
|
27
28
|
{ 'err' : Error };
|
|
28
29
|
export interface Task {
|
|
29
|
-
'id' :
|
|
30
|
+
'id' : TaskId,
|
|
30
31
|
'status' : bigint,
|
|
31
32
|
'completedAt' : bigint,
|
|
32
33
|
'resultMessage' : string,
|
|
@@ -39,19 +40,17 @@ export interface Task {
|
|
|
39
40
|
'channel' : string,
|
|
40
41
|
'payload' : string,
|
|
41
42
|
}
|
|
43
|
+
export type TaskId = bigint;
|
|
42
44
|
export interface _SERVICE {
|
|
43
|
-
'addTask' : ActorMethod<[AddTaskArgs],
|
|
44
|
-
'claimTask' : ActorMethod<[ClaimTaskArgs],
|
|
45
|
-
'completeTask' : ActorMethod<[CompleteTaskArgs],
|
|
46
|
-
'getAvailableTaskIds' : ActorMethod<[string],
|
|
47
|
-
'getTask' : ActorMethod<[bigint],
|
|
48
|
-
'getTasks' : ActorMethod<[],
|
|
49
|
-
'getTasksByChannelAndCommonId' : ActorMethod<[string, string],
|
|
50
|
-
'getTasksByCommonId' : ActorMethod<[string],
|
|
51
|
-
'getTasksLast24h' : ActorMethod<[],
|
|
52
|
-
'testErrWithText' : ActorMethod<[], Result>,
|
|
53
|
-
'testErrWithText2' : ActorMethod<[], Result>,
|
|
54
|
-
'testError' : ActorMethod<[], Result>,
|
|
45
|
+
'addTask' : ActorMethod<[AddTaskArgs], Result_4>,
|
|
46
|
+
'claimTask' : ActorMethod<[ClaimTaskArgs], Result_1>,
|
|
47
|
+
'completeTask' : ActorMethod<[CompleteTaskArgs], Result_3>,
|
|
48
|
+
'getAvailableTaskIds' : ActorMethod<[string], Result_2>,
|
|
49
|
+
'getTask' : ActorMethod<[bigint], Result_1>,
|
|
50
|
+
'getTasks' : ActorMethod<[], Result>,
|
|
51
|
+
'getTasksByChannelAndCommonId' : ActorMethod<[string, string], Result>,
|
|
52
|
+
'getTasksByCommonId' : ActorMethod<[string], Result>,
|
|
53
|
+
'getTasksLast24h' : ActorMethod<[], Result>,
|
|
55
54
|
'whoAmI' : ActorMethod<[], Principal>,
|
|
56
55
|
}
|
|
57
56
|
export declare const idlFactory: IDL.InterfaceFactory;
|
|
@@ -1,24 +1,23 @@
|
|
|
1
1
|
export const idlFactory = ({ IDL }) => {
|
|
2
|
+
const TaskId = IDL.Nat;
|
|
2
3
|
const AddTaskArgs = IDL.Record({
|
|
3
|
-
'parentIds' : IDL.Opt(IDL.Vec(
|
|
4
|
+
'parentIds' : IDL.Opt(IDL.Vec(TaskId)),
|
|
4
5
|
'commonId' : IDL.Text,
|
|
5
6
|
'channel' : IDL.Text,
|
|
6
7
|
'payload' : IDL.Text,
|
|
7
8
|
});
|
|
8
9
|
const Error = IDL.Variant({
|
|
9
|
-
'NotFound' : IDL.
|
|
10
|
+
'NotFound' : IDL.Text,
|
|
10
11
|
'NotAuthorized' : IDL.Text,
|
|
11
12
|
'InvalidData' : IDL.Text,
|
|
12
13
|
'AlreadyExists' : IDL.Null,
|
|
14
|
+
'ForcedUpdate' : IDL.Text,
|
|
13
15
|
'ReturnsNull' : IDL.Null,
|
|
14
16
|
});
|
|
15
|
-
const
|
|
16
|
-
const ClaimTaskArgs = IDL.Record({
|
|
17
|
-
'id' : IDL.Nat,
|
|
18
|
-
'timeoutNanos' : IDL.Int,
|
|
19
|
-
});
|
|
17
|
+
const Result_4 = IDL.Variant({ 'ok' : TaskId, 'err' : Error });
|
|
18
|
+
const ClaimTaskArgs = IDL.Record({ 'id' : TaskId, 'timeoutNanos' : IDL.Int });
|
|
20
19
|
const Task = IDL.Record({
|
|
21
|
-
'id' :
|
|
20
|
+
'id' : TaskId,
|
|
22
21
|
'status' : IDL.Nat,
|
|
23
22
|
'completedAt' : IDL.Int,
|
|
24
23
|
'resultMessage' : IDL.Text,
|
|
@@ -31,28 +30,25 @@ export const idlFactory = ({ IDL }) => {
|
|
|
31
30
|
'channel' : IDL.Text,
|
|
32
31
|
'payload' : IDL.Text,
|
|
33
32
|
});
|
|
34
|
-
const
|
|
35
|
-
const CompleteTaskArgs = IDL.Record({ 'id' :
|
|
36
|
-
const
|
|
37
|
-
const
|
|
38
|
-
const
|
|
33
|
+
const Result_1 = IDL.Variant({ 'ok' : Task, 'err' : Error });
|
|
34
|
+
const CompleteTaskArgs = IDL.Record({ 'id' : TaskId, 'message' : IDL.Text });
|
|
35
|
+
const Result_3 = IDL.Variant({ 'ok' : IDL.Bool, 'err' : Error });
|
|
36
|
+
const Result_2 = IDL.Variant({ 'ok' : IDL.Vec(TaskId), 'err' : Error });
|
|
37
|
+
const Result = IDL.Variant({ 'ok' : IDL.Vec(Task), 'err' : Error });
|
|
39
38
|
return IDL.Service({
|
|
40
|
-
'addTask' : IDL.Func([AddTaskArgs], [
|
|
41
|
-
'claimTask' : IDL.Func([ClaimTaskArgs], [
|
|
42
|
-
'completeTask' : IDL.Func([CompleteTaskArgs], [
|
|
43
|
-
'getAvailableTaskIds' : IDL.Func([IDL.Text], [
|
|
44
|
-
'getTask' : IDL.Func([IDL.Nat], [
|
|
45
|
-
'getTasks' : IDL.Func([], [
|
|
39
|
+
'addTask' : IDL.Func([AddTaskArgs], [Result_4], []),
|
|
40
|
+
'claimTask' : IDL.Func([ClaimTaskArgs], [Result_1], []),
|
|
41
|
+
'completeTask' : IDL.Func([CompleteTaskArgs], [Result_3], []),
|
|
42
|
+
'getAvailableTaskIds' : IDL.Func([IDL.Text], [Result_2], ['query']),
|
|
43
|
+
'getTask' : IDL.Func([IDL.Nat], [Result_1], ['query']),
|
|
44
|
+
'getTasks' : IDL.Func([], [Result], ['query']),
|
|
46
45
|
'getTasksByChannelAndCommonId' : IDL.Func(
|
|
47
46
|
[IDL.Text, IDL.Text],
|
|
48
|
-
[
|
|
47
|
+
[Result],
|
|
49
48
|
['query'],
|
|
50
49
|
),
|
|
51
|
-
'getTasksByCommonId' : IDL.Func([IDL.Text], [
|
|
52
|
-
'getTasksLast24h' : IDL.Func([], [
|
|
53
|
-
'testErrWithText' : IDL.Func([], [Result], ['query']),
|
|
54
|
-
'testErrWithText2' : IDL.Func([], [Result], ['query']),
|
|
55
|
-
'testError' : IDL.Func([], [Result], ['query']),
|
|
50
|
+
'getTasksByCommonId' : IDL.Func([IDL.Text], [Result], ['query']),
|
|
51
|
+
'getTasksLast24h' : IDL.Func([], [Result], ['query']),
|
|
56
52
|
'whoAmI' : IDL.Func([], [IDL.Principal], ['query']),
|
|
57
53
|
});
|
|
58
54
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rabbit-task-worker.d.ts","sourceRoot":"","sources":["../src/rabbit-task-worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAW,MAAM,MAAM,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAsB,KAAK,IAAI,EAAE,MAAM,gCAAgC,CAAC;AAKlG,qBAAa,gBAAgB;IAYrB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,KAAK;IAbjB,OAAO,CAAC,UAAU,CAA+C;IACjE,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IAEnD,OAAO,CAAC,uBAAuB,CAAc;IAE7C,IAAW,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,CAEpC;gBAGW,OAAO,EAAE,MAAM,EACf,mBAAmB,EAAE,MAAM,EAC3B,KAAK,EAAE,iBAAiB;YAItB,YAAY;
|
|
1
|
+
{"version":3,"file":"rabbit-task-worker.d.ts","sourceRoot":"","sources":["../src/rabbit-task-worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAW,MAAM,MAAM,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAsB,KAAK,IAAI,EAAE,MAAM,gCAAgC,CAAC;AAKlG,qBAAa,gBAAgB;IAYrB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,KAAK;IAbjB,OAAO,CAAC,UAAU,CAA+C;IACjE,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IAEnD,OAAO,CAAC,uBAAuB,CAAc;IAE7C,IAAW,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,CAEpC;gBAGW,OAAO,EAAE,MAAM,EACf,mBAAmB,EAAE,MAAM,EAC3B,KAAK,EAAE,iBAAiB;YAItB,YAAY;IA4CnB,GAAG,IAAI,IAAI;IAWX,IAAI,IAAI,IAAI;CAQtB"}
|
|
@@ -41,7 +41,13 @@ export class RabbitTaskWorker {
|
|
|
41
41
|
this.lastSuccessfulProcessTs = Date.now();
|
|
42
42
|
}
|
|
43
43
|
catch (err) {
|
|
44
|
-
|
|
44
|
+
const errorMsg = BetterJSON.stringify(err);
|
|
45
|
+
if (errorMsg.includes("ForcedUpdated")) {
|
|
46
|
+
pigeon.reportInfoAsyncSafe(componentName, "RZQ9K", "Forced update detected during processQueue, this is ok", errorMsg);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
pigeon.reportUrgentAsyncSafe(componentName, "JTQRR", "Unexpected error in processQueue", errorMsg);
|
|
50
|
+
}
|
|
45
51
|
}
|
|
46
52
|
finally {
|
|
47
53
|
this.isProcessing = false;
|