@cloud-cli/on 1.2.7 → 1.2.9
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/dist/on.js +34 -34
- package/package.json +1 -1
package/dist/on.js
CHANGED
|
@@ -8442,7 +8442,7 @@ var Vo = class {
|
|
|
8442
8442
|
return await $.run("UPDATE jobs SET status = 'pending', worker_id = NULL WHERE status = 'running' AND started_at < datetime('now', '-1 hour');");
|
|
8443
8443
|
}
|
|
8444
8444
|
async createTables() {
|
|
8445
|
-
await $.exec("\n CREATE TABLE IF NOT EXISTS jobs (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n workflow_id TEXT NOT NULL,\n payload TEXT NOT NULL,\n status TEXT NOT NULL DEFAULT 'pending',\n concurrency_key TEXT,\n worker_id TEXT,\n report TEXT,\n created_at DATETIME DEFAULT CURRENT_TIMESTAMP,\n updated_at DATETIME DEFAULT CURRENT_TIMESTAMP,\n started_at DATETIME DEFAULT CURRENT_TIMESTAMP,\n finished_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
8445
|
+
await $.exec("\n CREATE TABLE IF NOT EXISTS jobs (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n workflow_id TEXT NOT NULL,\n payload TEXT NOT NULL,\n status TEXT NOT NULL DEFAULT 'pending',\n concurrency_key TEXT,\n worker_id TEXT,\n report TEXT,\n created_at DATETIME DEFAULT CURRENT_TIMESTAMP,\n updated_at DATETIME DEFAULT CURRENT_TIMESTAMP,\n started_at DATETIME DEFAULT CURRENT_TIMESTAMP,\n finished_at DATETIME DEFAULT CURRENT_TIMESTAMP\n );\n\n CREATE TABLE IF NOT EXISTS step_logs (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n job_id INTEGER NOT NULL,\n step_id TEXT NOT NULL,\n log_content TEXT NOT NULL,\n created_at DATETIME DEFAULT CURRENT_TIMESTAMP,\n FOREIGN KEY(job_id) REFERENCES jobs(id) ON DELETE CASCADE\n );\n\n CREATE INDEX IF NOT EXISTS idx_step_logs_job ON step_logs(job_id);\n ");
|
|
8446
8446
|
}
|
|
8447
8447
|
async getJob(e) {
|
|
8448
8448
|
return $.get("SELECT * FROM jobs WHERE id = ?", [e]);
|
|
@@ -8714,26 +8714,26 @@ var Vo = class {
|
|
|
8714
8714
|
logFilePath: ""
|
|
8715
8715
|
};
|
|
8716
8716
|
}
|
|
8717
|
-
let o = `workflow-${t.jobId}-${t.stepId}`.replace(/[^a-zA-Z0-9_-]/g, "_"), s = [
|
|
8717
|
+
let o = `workflow-${t.jobId}-${t.stepId}`.replace(/[^a-zA-Z0-9_-]/g, "_"), s = a.join(t.workspacePath, "wd"), c = [
|
|
8718
8718
|
`--unit=${o}`,
|
|
8719
8719
|
"--wait",
|
|
8720
8720
|
"--pipe",
|
|
8721
|
-
`--working-directory=${
|
|
8721
|
+
`--working-directory=${s}`
|
|
8722
8722
|
];
|
|
8723
|
-
if (t.env) for (let [e, n] of Object.entries(t.env))
|
|
8723
|
+
if (t.env) for (let [e, n] of Object.entries(t.env)) c.push(`--setenv=${e}=${n}`);
|
|
8724
8724
|
if (t.timeoutMs) {
|
|
8725
8725
|
let e = Math.ceil(t.timeoutMs / 1e3);
|
|
8726
|
-
|
|
8726
|
+
c.push(`--property=RuntimeMaxSec=${e}`);
|
|
8727
8727
|
}
|
|
8728
|
-
let
|
|
8729
|
-
|
|
8728
|
+
let l;
|
|
8729
|
+
l = t.image ? [
|
|
8730
8730
|
"docker",
|
|
8731
8731
|
"run",
|
|
8732
8732
|
"--rm",
|
|
8733
8733
|
"--init",
|
|
8734
8734
|
`--name=${o}`,
|
|
8735
8735
|
"-v",
|
|
8736
|
-
`${
|
|
8736
|
+
`${s}:/workspace`,
|
|
8737
8737
|
"-w",
|
|
8738
8738
|
"/workspace",
|
|
8739
8739
|
t.image,
|
|
@@ -8744,13 +8744,13 @@ var Vo = class {
|
|
|
8744
8744
|
process.env.SHELL || "sh",
|
|
8745
8745
|
"-c",
|
|
8746
8746
|
t.command
|
|
8747
|
-
], e.mkdirSync(
|
|
8748
|
-
let
|
|
8747
|
+
], e.mkdirSync(s, { recursive: !0 }), console.log(`📁 Created workspace at ${s}`);
|
|
8748
|
+
let u;
|
|
8749
8749
|
try {
|
|
8750
|
-
|
|
8751
|
-
...
|
|
8750
|
+
u = _("systemd-run", [
|
|
8751
|
+
...c,
|
|
8752
8752
|
"--",
|
|
8753
|
-
...
|
|
8753
|
+
...l
|
|
8754
8754
|
], { stdio: [
|
|
8755
8755
|
"ignore",
|
|
8756
8756
|
r,
|
|
@@ -8770,7 +8770,7 @@ var Vo = class {
|
|
|
8770
8770
|
logFilePath: i
|
|
8771
8771
|
};
|
|
8772
8772
|
}
|
|
8773
|
-
let
|
|
8773
|
+
let d = !1;
|
|
8774
8774
|
return {
|
|
8775
8775
|
done: new Promise((t) => {
|
|
8776
8776
|
let i = !1, a = (n) => {
|
|
@@ -8782,13 +8782,13 @@ var Vo = class {
|
|
|
8782
8782
|
t(n);
|
|
8783
8783
|
}
|
|
8784
8784
|
};
|
|
8785
|
-
|
|
8785
|
+
u.on("close", (e) => {
|
|
8786
8786
|
a({
|
|
8787
|
-
exitCode: e ?? (
|
|
8787
|
+
exitCode: e ?? (d ? 130 : 1),
|
|
8788
8788
|
durationMs: Date.now() - n,
|
|
8789
|
-
error:
|
|
8789
|
+
error: d ? /* @__PURE__ */ Error("Step cancelled by user or systemd timeout") : void 0
|
|
8790
8790
|
});
|
|
8791
|
-
}),
|
|
8791
|
+
}), u.on("error", (e) => {
|
|
8792
8792
|
a({
|
|
8793
8793
|
exitCode: 1,
|
|
8794
8794
|
durationMs: Date.now() - n,
|
|
@@ -8797,7 +8797,7 @@ var Vo = class {
|
|
|
8797
8797
|
});
|
|
8798
8798
|
}),
|
|
8799
8799
|
cancel: async () => {
|
|
8800
|
-
|
|
8800
|
+
d = !0;
|
|
8801
8801
|
try {
|
|
8802
8802
|
t.image && await Go(`docker stop -t 2 ${o}`).catch(() => {}), await Go(`systemctl stop ${o}.service`).catch(() => {});
|
|
8803
8803
|
} catch {}
|
|
@@ -8828,13 +8828,13 @@ var Vo = class {
|
|
|
8828
8828
|
logFilePath: ""
|
|
8829
8829
|
};
|
|
8830
8830
|
}
|
|
8831
|
-
let o, s;
|
|
8831
|
+
let o, s, c = a.join(t.workspacePath, "wd");
|
|
8832
8832
|
t.image ? (o = "docker", s = [
|
|
8833
8833
|
"run",
|
|
8834
8834
|
"--rm",
|
|
8835
8835
|
"--init",
|
|
8836
8836
|
"-v",
|
|
8837
|
-
`${
|
|
8837
|
+
`${c}:/workspace`,
|
|
8838
8838
|
"-w",
|
|
8839
8839
|
"/workspace",
|
|
8840
8840
|
"--entrypoint",
|
|
@@ -8842,11 +8842,11 @@ var Vo = class {
|
|
|
8842
8842
|
t.image,
|
|
8843
8843
|
"-c",
|
|
8844
8844
|
t.command
|
|
8845
|
-
]) : (o = process.env.SHELL || "sh", s = ["-c", t.command]), e.mkdirSync(
|
|
8846
|
-
let
|
|
8845
|
+
]) : (o = process.env.SHELL || "sh", s = ["-c", t.command]), e.mkdirSync(c, { recursive: !0 }), console.log(`📁 Created workspace at ${c}`);
|
|
8846
|
+
let l;
|
|
8847
8847
|
try {
|
|
8848
|
-
|
|
8849
|
-
cwd:
|
|
8848
|
+
l = _(o, s, {
|
|
8849
|
+
cwd: c,
|
|
8850
8850
|
env: {
|
|
8851
8851
|
...process.env,
|
|
8852
8852
|
...t.env
|
|
@@ -8872,27 +8872,27 @@ var Vo = class {
|
|
|
8872
8872
|
logFilePath: i
|
|
8873
8873
|
};
|
|
8874
8874
|
}
|
|
8875
|
-
let
|
|
8875
|
+
let u = !1, d = null;
|
|
8876
8876
|
return {
|
|
8877
8877
|
done: new Promise((i) => {
|
|
8878
8878
|
let a = !1, o = (t) => {
|
|
8879
8879
|
if (!a) {
|
|
8880
|
-
a = !0,
|
|
8880
|
+
a = !0, d && clearTimeout(d);
|
|
8881
8881
|
try {
|
|
8882
8882
|
r !== null && e.closeSync(r);
|
|
8883
8883
|
} catch {}
|
|
8884
8884
|
i(t);
|
|
8885
8885
|
}
|
|
8886
8886
|
};
|
|
8887
|
-
t.timeoutMs && (
|
|
8888
|
-
|
|
8889
|
-
}, t.timeoutMs),
|
|
8887
|
+
t.timeoutMs && (d = setTimeout(() => {
|
|
8888
|
+
u = !0, this.killProcessGroup(l);
|
|
8889
|
+
}, t.timeoutMs), d.unref()), l.on("close", (e) => {
|
|
8890
8890
|
o({
|
|
8891
|
-
exitCode: e ?? (
|
|
8891
|
+
exitCode: e ?? (u ? 130 : 1),
|
|
8892
8892
|
durationMs: Date.now() - n,
|
|
8893
|
-
error:
|
|
8893
|
+
error: u ? /* @__PURE__ */ Error("Step timed out or was cancelled by user") : void 0
|
|
8894
8894
|
});
|
|
8895
|
-
}),
|
|
8895
|
+
}), l.on("error", (e) => {
|
|
8896
8896
|
o({
|
|
8897
8897
|
exitCode: 1,
|
|
8898
8898
|
durationMs: Date.now() - n,
|
|
@@ -8901,7 +8901,7 @@ var Vo = class {
|
|
|
8901
8901
|
});
|
|
8902
8902
|
}),
|
|
8903
8903
|
cancel: async () => {
|
|
8904
|
-
|
|
8904
|
+
u = !0, this.killProcessGroup(l);
|
|
8905
8905
|
},
|
|
8906
8906
|
logFilePath: i
|
|
8907
8907
|
};
|