review comments
parent
32971bcaa0
commit
371f3a0daf
|
|
@ -3697,6 +3697,7 @@ class KubernetesTaskRunner {
|
|||
let shouldReadLogs = true;
|
||||
let shouldCleanup = true;
|
||||
let sinceTime = ``;
|
||||
let retriesAfterFinish = 0;
|
||||
// eslint-disable-next-line no-constant-condition
|
||||
while (true) {
|
||||
await new Promise((resolve) => setTimeout(resolve, 3000));
|
||||
|
|
@ -3711,13 +3712,13 @@ class KubernetesTaskRunner {
|
|||
}
|
||||
let extraFlags = ``;
|
||||
extraFlags += (await kubernetes_pods_1.default.IsPodRunning(podName, namespace, kubeClient))
|
||||
? ` -f -c ${containerName} --timestamps${sinceTime}`
|
||||
? ` -f -c ${containerName}`
|
||||
: ` --previous`;
|
||||
let lastMessageSeenIncludedInChunk = false;
|
||||
let lastMessageSeen = false;
|
||||
let logs;
|
||||
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) {
|
||||
await new Promise((resolve) => setTimeout(resolve, 3000));
|
||||
|
|
@ -3726,6 +3727,10 @@ class KubernetesTaskRunner {
|
|||
if (continueStreaming) {
|
||||
continue;
|
||||
}
|
||||
if (retriesAfterFinish < KubernetesTaskRunner.maxRetry) {
|
||||
retriesAfterFinish++;
|
||||
continue;
|
||||
}
|
||||
throw error;
|
||||
}
|
||||
const splitLogs = logs.split(`\n`);
|
||||
|
|
@ -3794,6 +3799,7 @@ class KubernetesTaskRunner {
|
|||
}
|
||||
}
|
||||
KubernetesTaskRunner.lastReceivedTimestamp = 0;
|
||||
KubernetesTaskRunner.maxRetry = 3;
|
||||
KubernetesTaskRunner.lastReceivedMessage = ``;
|
||||
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 {
|
||||
static lastReceivedTimestamp: number = 0;
|
||||
static readonly maxRetry: number = 3;
|
||||
static lastReceivedMessage: string = ``;
|
||||
static async runTask(
|
||||
kubeConfig: KubeConfig,
|
||||
|
|
@ -21,6 +22,7 @@ class KubernetesTaskRunner {
|
|||
let shouldReadLogs = true;
|
||||
let shouldCleanup = true;
|
||||
let sinceTime = ``;
|
||||
let retriesAfterFinish = 0;
|
||||
// eslint-disable-next-line no-constant-condition
|
||||
while (true) {
|
||||
await new Promise((resolve) => setTimeout(resolve, 3000));
|
||||
|
|
@ -38,7 +40,7 @@ class KubernetesTaskRunner {
|
|||
}
|
||||
let extraFlags = ``;
|
||||
extraFlags += (await KubernetesPods.IsPodRunning(podName, namespace, kubeClient))
|
||||
? ` -f -c ${containerName} --timestamps${sinceTime}`
|
||||
? ` -f -c ${containerName}`
|
||||
: ` --previous`;
|
||||
let lastMessageSeenIncludedInChunk = false;
|
||||
let lastMessageSeen = false;
|
||||
|
|
@ -46,7 +48,11 @@ class KubernetesTaskRunner {
|
|||
let logs;
|
||||
|
||||
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) {
|
||||
await new Promise((resolve) => setTimeout(resolve, 3000));
|
||||
const continueStreaming = await KubernetesPods.IsPodRunning(podName, namespace, kubeClient);
|
||||
|
|
@ -54,6 +60,11 @@ class KubernetesTaskRunner {
|
|||
if (continueStreaming) {
|
||||
continue;
|
||||
}
|
||||
if (retriesAfterFinish < KubernetesTaskRunner.maxRetry) {
|
||||
retriesAfterFinish++;
|
||||
|
||||
continue;
|
||||
}
|
||||
throw error;
|
||||
}
|
||||
const splitLogs = logs.split(`\n`);
|
||||
|
|
|
|||
Loading…
Reference in New Issue