review comments
parent
32971bcaa0
commit
371f3a0daf
|
|
@ -3697,6 +3697,7 @@ class KubernetesTaskRunner {
|
||||||
let shouldReadLogs = true;
|
let shouldReadLogs = true;
|
||||||
let shouldCleanup = true;
|
let shouldCleanup = true;
|
||||||
let sinceTime = ``;
|
let sinceTime = ``;
|
||||||
|
let retriesAfterFinish = 0;
|
||||||
// eslint-disable-next-line no-constant-condition
|
// eslint-disable-next-line no-constant-condition
|
||||||
while (true) {
|
while (true) {
|
||||||
await new Promise((resolve) => setTimeout(resolve, 3000));
|
await new Promise((resolve) => setTimeout(resolve, 3000));
|
||||||
|
|
@ -3711,13 +3712,13 @@ class KubernetesTaskRunner {
|
||||||
}
|
}
|
||||||
let extraFlags = ``;
|
let extraFlags = ``;
|
||||||
extraFlags += (await kubernetes_pods_1.default.IsPodRunning(podName, namespace, kubeClient))
|
extraFlags += (await kubernetes_pods_1.default.IsPodRunning(podName, namespace, kubeClient))
|
||||||
? ` -f -c ${containerName} --timestamps${sinceTime}`
|
? ` -f -c ${containerName}`
|
||||||
: ` --previous`;
|
: ` --previous`;
|
||||||
let lastMessageSeenIncludedInChunk = false;
|
let lastMessageSeenIncludedInChunk = false;
|
||||||
let lastMessageSeen = false;
|
let lastMessageSeen = false;
|
||||||
let logs;
|
let logs;
|
||||||
try {
|
try {
|
||||||
logs = await cloud_runner_system_1.CloudRunnerSystem.Run(`kubectl logs ${podName}${extraFlags}`, false, true);
|
logs = await cloud_runner_system_1.CloudRunnerSystem.Run(`kubectl logs ${podName}${extraFlags} --timestamps${sinceTime}`, false, true);
|
||||||
}
|
}
|
||||||
catch (error) {
|
catch (error) {
|
||||||
await new Promise((resolve) => setTimeout(resolve, 3000));
|
await new Promise((resolve) => setTimeout(resolve, 3000));
|
||||||
|
|
@ -3726,6 +3727,10 @@ class KubernetesTaskRunner {
|
||||||
if (continueStreaming) {
|
if (continueStreaming) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if (retriesAfterFinish < KubernetesTaskRunner.maxRetry) {
|
||||||
|
retriesAfterFinish++;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
throw error;
|
throw error;
|
||||||
}
|
}
|
||||||
const splitLogs = logs.split(`\n`);
|
const splitLogs = logs.split(`\n`);
|
||||||
|
|
@ -3794,6 +3799,7 @@ class KubernetesTaskRunner {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
KubernetesTaskRunner.lastReceivedTimestamp = 0;
|
KubernetesTaskRunner.lastReceivedTimestamp = 0;
|
||||||
|
KubernetesTaskRunner.maxRetry = 3;
|
||||||
KubernetesTaskRunner.lastReceivedMessage = ``;
|
KubernetesTaskRunner.lastReceivedMessage = ``;
|
||||||
exports["default"] = KubernetesTaskRunner;
|
exports["default"] = KubernetesTaskRunner;
|
||||||
|
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -8,6 +8,7 @@ import KubernetesPods from './kubernetes-pods';
|
||||||
|
|
||||||
class KubernetesTaskRunner {
|
class KubernetesTaskRunner {
|
||||||
static lastReceivedTimestamp: number = 0;
|
static lastReceivedTimestamp: number = 0;
|
||||||
|
static readonly maxRetry: number = 3;
|
||||||
static lastReceivedMessage: string = ``;
|
static lastReceivedMessage: string = ``;
|
||||||
static async runTask(
|
static async runTask(
|
||||||
kubeConfig: KubeConfig,
|
kubeConfig: KubeConfig,
|
||||||
|
|
@ -21,6 +22,7 @@ class KubernetesTaskRunner {
|
||||||
let shouldReadLogs = true;
|
let shouldReadLogs = true;
|
||||||
let shouldCleanup = true;
|
let shouldCleanup = true;
|
||||||
let sinceTime = ``;
|
let sinceTime = ``;
|
||||||
|
let retriesAfterFinish = 0;
|
||||||
// eslint-disable-next-line no-constant-condition
|
// eslint-disable-next-line no-constant-condition
|
||||||
while (true) {
|
while (true) {
|
||||||
await new Promise((resolve) => setTimeout(resolve, 3000));
|
await new Promise((resolve) => setTimeout(resolve, 3000));
|
||||||
|
|
@ -38,7 +40,7 @@ class KubernetesTaskRunner {
|
||||||
}
|
}
|
||||||
let extraFlags = ``;
|
let extraFlags = ``;
|
||||||
extraFlags += (await KubernetesPods.IsPodRunning(podName, namespace, kubeClient))
|
extraFlags += (await KubernetesPods.IsPodRunning(podName, namespace, kubeClient))
|
||||||
? ` -f -c ${containerName} --timestamps${sinceTime}`
|
? ` -f -c ${containerName}`
|
||||||
: ` --previous`;
|
: ` --previous`;
|
||||||
let lastMessageSeenIncludedInChunk = false;
|
let lastMessageSeenIncludedInChunk = false;
|
||||||
let lastMessageSeen = false;
|
let lastMessageSeen = false;
|
||||||
|
|
@ -46,7 +48,11 @@ class KubernetesTaskRunner {
|
||||||
let logs;
|
let logs;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
logs = await CloudRunnerSystem.Run(`kubectl logs ${podName}${extraFlags}`, false, true);
|
logs = await CloudRunnerSystem.Run(
|
||||||
|
`kubectl logs ${podName}${extraFlags} --timestamps${sinceTime}`,
|
||||||
|
false,
|
||||||
|
true,
|
||||||
|
);
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
await new Promise((resolve) => setTimeout(resolve, 3000));
|
await new Promise((resolve) => setTimeout(resolve, 3000));
|
||||||
const continueStreaming = await KubernetesPods.IsPodRunning(podName, namespace, kubeClient);
|
const continueStreaming = await KubernetesPods.IsPodRunning(podName, namespace, kubeClient);
|
||||||
|
|
@ -54,6 +60,11 @@ class KubernetesTaskRunner {
|
||||||
if (continueStreaming) {
|
if (continueStreaming) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if (retriesAfterFinish < KubernetesTaskRunner.maxRetry) {
|
||||||
|
retriesAfterFinish++;
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
throw error;
|
throw error;
|
||||||
}
|
}
|
||||||
const splitLogs = logs.split(`\n`);
|
const splitLogs = logs.split(`\n`);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue