Форум программистов, компьютерный форум, киберфорум
DevOps, облачные платформы
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
213 / 109 / 46
Регистрация: 12.12.2016
Сообщений: 399

Gitlab Job

15.10.2022, 11:11. Показов 1414. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!

Есть джоба в гитлабе (внутренний гитлаб) - она выполняет питон-скрипт который делает 4 запроса к апи одного внутреннего сайта (каждый запрос занимает минут 25+) - результатом выполнения является сформированный excel файл за каждый запрос, в конце скрипт создает 5й файл с агрегированными данными из этих 4 файлов и отправляет письмо. В скрипте есть какое-то логирование + сохраняю артефакты (все созданные excel файлы и логи, сгенерированные питон-скриптом).

Локально в ide скрипт работает прекрасно, однако в раннере гитлаба он делает 1 запрос к апи и пишет 'job success'. Никаких ошибок в джобе нет.

Вопрос: Как можно понять что пошло нет так во время выполнения джобы? В логах питон-скрипта (на сколько я смог их правильно подключить) тоже нет никаких ошибок.

В этом же гитлабе есть еще одна джоба которая тоже отправляет письма, она прекрасно работает, но выполняется 20 секунд.
Проблема явно не с сетевыми доступами.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.10.2022, 11:11
Ответы с готовыми решениями:

GitLab и SSH
Помогите разобраться по сути, как для GitLab создать и использовать SSH? Я не понимаю, откуда он берётся у меня на компьютере. Я узнал...

Как настроить gitlab ci/cd?
Мне нужно настроить деплой проекта на сервер через ssh. Сгенерировал ssh key и написал следующий скрипт .gitlab-ci.yml image: java:8 ...

Не могу запушить данные в gitlab
Всем привет. Столкнулся вот с такой проблемой. Есть gitlab - сервер. Там лежит только readme который генерится автоматический при создании...

6
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
16.10.2022, 07:23
Доброго вечера, можете немного деталей добавить

- какой тип воркеров используете?
- запросы делаются параллельно или последовательно?
- в сетевой инфраструктуре между сервером, на котором крутится воркер и сервером, куда улетают api запросы - есть какие-то еще сетевые устройства? фаерволы, балансировщики нагрузки?
- каждый запрос занимает около 25 минут - все это время скрипт просто ждет?
- можете добавить минимальный воспроизводимый пример такого поведения, чтобы мы могли повторить и понаблюдать за поведением скрипта/джоба/воркера?

Добавлено через 1 час 56 минут
И еще
- заканчивается ли выполнение первого запроса?
- сразу ли после этого заканчивается выполнение?
- замерили время, сколько занимает до прекращения работы?
- всегда ли оно одинаковое?
1
213 / 109 / 46
Регистрация: 12.12.2016
Сообщений: 399
16.10.2022, 10:22  [ТС]
Jabbson, добрый вечер
- какой тип воркеров используете? - kubernetes shared runner - это воркер?
- запросы делаются параллельно или последовательно? - последовательно, потому что не хочется нагружать систему куда делаются запросы
- в сетевой инфраструктуре между сервером, на котором крутится воркер и сервером, куда улетают api запросы - есть какие-то еще сетевые устройства? фаерволы, балансировщики нагрузки? - с большой вероятность, что есть, подробности инфраструктуры мне неизвестны
- каждый запрос занимает около 25 минут - все это время скрипт просто ждет? - да (для себя принтом в терминале каждые 5 минут вывожу статус запроса, но в ранере это почему-то не отображается), а в логах есть какие-то данные
- можете добавить минимальный воспроизводимый пример такого поведения, чтобы мы могли повторить и понаблюдать за поведением скрипта/джоба/воркера? - нет
- заканчивается ли выполнение первого запроса? - да
- сразу ли после этого заканчивается выполнение? - да
- замерили время, сколько занимает до прекращения работы? - job duration у всех старых джоб 30 минут
- всегда ли оно одинаковое? - да
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
16.10.2022, 18:05
Какая либо из частей этой инфраструктуры находит в облаке (кластер, из которого делается запрос к API или сам API)?
В логах k8s есть что-то интересное?

Пока мои идеи - это
- NAT timeout
- TCP idle timeout (на одной из сторон или на сетевом устройстве между ними - фаервол или балансировщик),
- какой-то еще timeout,
- возможное использование вытесняемых виртуалок, если облако (spot VMs).

Добавлено через 44 минуты
Не знаю, видели Вы уже это баги, но они описывают поведение, схожее с тем, что происходит у Вас.

- https://gitlab.com/gitlab-org/... ssues/3144
- https://gitlab.com/gitlab-org/... ssues/3175
- https://gitlab.com/gitlab-org/... ssues/3658
- https://gitlab.com/gitlab-org/... ssues/4119
- https://gitlab.com/gitlab-org/... sues/26347
1
213 / 109 / 46
Регистрация: 12.12.2016
Сообщений: 399
16.10.2022, 18:24  [ТС]
Jabbson,
Какая либо из частей этой инфраструктуры находит в облаке (кластер, из которого делается запрос к API или сам API)? - нет
В логах k8s есть что-то интересное? - это нужно смотреть логи гитлаб раннера?
- Не знаю, видели Вы уже это баги, но они описывают поведение, схожее с тем, что происходит у Вас. - не видел, спасибо

Кстати, когда Вы спросили про простой скрипта во время выполнения запроса - "возникла идея" протестировать запрос к апи и убивать скрипт. У апи сервиса есть функция сохранения запроса.
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
16.10.2022, 18:41
Цитата Сообщение от New Life Посмотреть сообщение
В логах k8s есть что-то интересное? - это нужно смотреть логи гитлаб раннера?
в логах deployment-a/pod-a, который создается, чтобы выполнять таску. он может быть терминирован по многим причинам. Судя по багам выше, в этом случае job может все равно быть закончен со статусом success.
1
213 / 109 / 46
Регистрация: 12.12.2016
Сообщений: 399
28.10.2022, 09:12  [ТС]
В общем... коллеги сказали, что у них других логов нет или я нерпаивльно им задал вопрос. Увеличение Timeout-а также никак не повлияло.

Переписал логику работы скрипта - разделив на две джобы (работают по шедуллеру):
1ая джоба отправляет запрос по апи, сохраняет номер запроса в файл и выгружает в нексус.
2ая джоба запускается через N часов (с запасом), скачивает из нексуса файл с номерами запросов и делает остальную работу по формированию отчета и отправки письма.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.10.2022, 09:12
Помогаю со студенческими работами здесь

Gitlab создать merge request
Использую gitlab api Есть 2 ветки, назовем их Branch1 и Branch2, Branch2 создана на основе Branch1. При помощи gitlab api, создаю на...

Подключение существующих проектов к GitLab
Есть несколько git-проектов. Установил GitLab. Можно ли их подключить к нему без переноса в другую папку и чтобы в GitLab была доступна вся...

Gitlab. Медленно грузятся странички
После обновления Gitlabа, стали долго загружаться страницы в браузере, хотя до обновление было все моментально. В чем может быть проблема?...

Gitlab под Windows Server, аналоги
Здравствуйте, мне нужно для ведения проекта на вин сервере что-то вроде Gitlab (главное чтоб основано было на гите). Gitlab мне очень...

Gitlab: Возможна ли двухфакторная аутентификация по email?
5. Возможна ли двухфакторная аутентификация по email? QR не подходит совсем.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru