review comments

pull/524/head
Frostebite 2023-03-26 14:41:33 +01:00
parent 32971bcaa0
commit 371f3a0daf
3 changed files with 22 additions and 5 deletions

10
dist/index.js generated vendored
View File

@ -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;

2
dist/index.js.map generated vendored

File diff suppressed because one or more lines are too long

View File

@ -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`);