pull/524/head
Frostebite 2023-03-25 22:34:19 +00:00
parent 3e189d9f38
commit b3d9640598
3 changed files with 21 additions and 3 deletions

15
dist/index.js generated vendored
View File

@ -3678,6 +3678,7 @@ const follow_log_stream_service_1 = __nccwpck_require__(64121);
const cloud_runner_system_1 = __nccwpck_require__(99393);
const cloud_runner_1 = __importDefault(__nccwpck_require__(79144));
const kubernetes_pods_1 = __importDefault(__nccwpck_require__(90740));
const promises_1 = __nccwpck_require__(68670);
class KubernetesTaskRunner {
static async runTask(kubeConfig, kubeClient, jobName, podName, containerName, namespace) {
let output = '';
@ -3686,6 +3687,7 @@ class KubernetesTaskRunner {
let sinceTime = ``;
// eslint-disable-next-line no-constant-condition
while (true) {
await new Promise((resolve) => promises_1.setTimeout(5000, resolve));
const lastReceivedMessage = KubernetesTaskRunner.lastReceivedTimestamp > 0
? `\nLast Log Message "${this.lastReceivedMessage}" ${this.lastReceivedTimestamp}`
: ``;
@ -3704,8 +3706,11 @@ class KubernetesTaskRunner {
logs = await cloud_runner_system_1.CloudRunnerSystem.Run(`kubectl logs ${podName}${extraFlags} -f -c ${containerName} --timestamps${sinceTime}`, false, true);
}
catch (error) {
await new Promise((resolve) => promises_1.setTimeout(5000, resolve));
const errorString = `${error}`;
const continueStreaming = errorString.includes(`dial timeout, backstop`) || errorString.includes(`HttpError: HTTP request failed`);
const continueStreaming = errorString.includes(`dial timeout, backstop`) ||
errorString.includes(`HttpError: HTTP request failed`) ||
(await kubernetes_pods_1.default.IsPodRunning(podName, namespace, kubeClient));
cloud_runner_logger_1.default.log(`K8s logging error ${error} ${continueStreaming}`);
if (continueStreaming) {
continue;
@ -298347,6 +298352,14 @@ module.exports = require("timers");
/***/ }),
/***/ 68670:
/***/ ((module) => {
"use strict";
module.exports = require("timers/promises");
/***/ }),
/***/ 24404:
/***/ ((module) => {

2
dist/index.js.map generated vendored

File diff suppressed because one or more lines are too long

View File

@ -5,6 +5,7 @@ import { FollowLogStreamService } from '../../services/follow-log-stream-service
import { CloudRunnerSystem } from '../../services/cloud-runner-system';
import CloudRunner from '../../cloud-runner';
import KubernetesPods from './kubernetes-pods';
import { setTimeout } from 'timers/promises';
class KubernetesTaskRunner {
static lastReceivedTimestamp: number = 0;
@ -23,6 +24,7 @@ class KubernetesTaskRunner {
let sinceTime = ``;
// eslint-disable-next-line no-constant-condition
while (true) {
await new Promise((resolve) => setTimeout(5000, resolve));
const lastReceivedMessage =
KubernetesTaskRunner.lastReceivedTimestamp > 0
? `\nLast Log Message "${this.lastReceivedMessage}" ${this.lastReceivedTimestamp}`
@ -49,9 +51,12 @@ class KubernetesTaskRunner {
true,
);
} catch (error: any) {
await new Promise((resolve) => setTimeout(5000, resolve));
const errorString = `${error}`;
const continueStreaming =
errorString.includes(`dial timeout, backstop`) || errorString.includes(`HttpError: HTTP request failed`);
errorString.includes(`dial timeout, backstop`) ||
errorString.includes(`HttpError: HTTP request failed`) ||
(await KubernetesPods.IsPodRunning(podName, namespace, kubeClient));
CloudRunnerLogger.log(`K8s logging error ${error} ${continueStreaming}`);
if (continueStreaming) {
continue;