본문으로 건너뛰기
cccskills
무료GitHub에 공개

1c-observe-run

Используйте, когда длительный запуск 1С (Designer, клиент, загрузка, обновление) идёт долго, завис или упал и нужно понять его состояние по артефактам наблюдения, не вмешиваясь в процесс.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md7.1 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Agent Skill: 1c-observe-run

Repo script: ./scripts/diag/technological-log.sh Windows launcher: ./scripts/diag/technological-log.ps1

Когда использовать

  • Штатная capability (create-ib, load-src, update-db, dump-src и другие) или run-client --wait работает дольше ожидаемого.
  • Запуск завершился с кодом 124, 125 или 70, и нужно понять причину.
  • Нужно найти ошибки платформы, относящиеся только к этому запуску.

Что пишет адаптер наблюдения

Каждый наблюдаемый запуск пишет в свой --run-root:

  • observation.jsonl — события schema v1: одно started, heartbeat каждые ONEC_OBSERVATION_INTERVAL_SECONDS секунд (по умолчанию 30, допустимо 1..30), события tech-event и ровно одно завершающее событие completed или failed с полями exitCode и terminalReason.
  • summary.json — раздел observation: terminalEvent, terminalReason, exitCode, heartbeatCount, diagnosticCount, status (ok или degraded).
  • stdout.log, stderr.log, process.pid — PID процесса платформы.
  • progress.txt — файл прогресса, путь к нему процесс получает в ONEC_OBSERVATION_PROGRESS_FILE.
  • technological-log-cursor.json и technological-log-restore.json — если включён технологический журнал.

Значения terminalReason:

ПричинаКодЧто произошло
completed0Команда завершилась успешно, ожидаемый результат есть.
command-exitкод процессаКоманда завершилась с ненулевым кодом.
missing-result70Код 0, но ожидаемого файла результата нет.
timeout124Общий лимит истёк до первого сообщения о прогрессе.
stalled125Содержимое файла прогресса не менялось дольше порога; группа процессов остановлена.
launch-failed127Процесс не удалось запустить.
operator-stopкод процессаКлиент остановлен командой run-client stop.

Остановка при неизменном прогрессе происходит только при заданном пороге: ONEC_OBSERVATION_STALL_TIMEOUT_SECONDS для capability или --idle-timeout для run-client. Без порога heartbeat только сообщает stageAgeSeconds — сколько секунд прогресс не менялся.

Порядок диагностики

  1. Прочитать последнюю строку [observation] ... event=heartbeat в stderr запуска: elapsed, source (progress, output или quiet), stage и stage_age.

  2. Прочитать observation.jsonl в run-root: есть ли завершающее событие, какой terminalReason, есть ли degraded и degradedReason.

  3. Прочитать раздел observation в summary.json.

  4. Если включён технологический журнал, прочитать события только этого запуска:

    ./scripts/diag/technological-log.sh cursor read --state <run-root>/technological-log-cursor.json --all
    
  5. Только после этого смотреть журнал регистрации информационной базы.

Технологический журнал

  • Журнал включается, только если оператор задал TECHLOG_CONFIG_PATH — путь к logcfg.xml платформы. Необязательные параметры: TECHLOG_ROOT (каталог журнала, по умолчанию <run-root>/techlog), TECHLOG_SERVER_ROOT (каталог журнала сервера для клиент-серверной базы), TECHLOG_PRIVILEGED_COMMAND (команда повышения прав для записи logcfg.xml, по умолчанию none).

  • На время запуска адаптер записывает ограниченный logcfg.xml: события EXCP, TDEADLOCK, TTIMEOUT и TLOCK длительностью больше 100 мс, хранение 1 час. События CALL, SCALL, SDBL, SQL-события и SYSTEM не включаются.

  • После запуска исходный logcfg.xml восстанавливается побайтно, в том числе после ошибки. Если исходного файла не было, временный файл удаляется. Результат записан в technologicalLog.restored завершающего события.

  • Если наблюдающий процесс был убит и logcfg.xml остался временным, восстановите исходный файл:

    ./scripts/diag/technological-log.sh status
    ./scripts/diag/technological-log.sh restore --run-root <run-root>
    

    Следующий наблюдаемый запуск тоже восстанавливает оригинал, если владелец временного файла уже не работает.

Запреты

  • Не читать полную командную строку процесса платформы (/proc/<pid>/cmdline, ps -f, ps aux, wmic, Get-CimInstance Win32_Process): в ней может быть пароль базы. Для поиска процесса использовать process.pid из run-root.
  • Не останавливать процесс вручную, пока heartbeat продолжается и причина не понятна. Для клиента использовать run-client stop --run-root <run-root>.
  • Не включать в logcfg.xml события CALL, SCALL, SDBL, SQL и SYSTEM и не оставлять полный технологический журнал включённым после запуска.
  • Не копировать в отчёт текст из progress.txt и описания ошибок с данными информационной базы; в heartbeat попадает только короткий статус из символов A-Z a-z 0-9 _ . : -.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Проверяет синтаксис изменённых BSL-модулей одной командой: статический разбор BSL Analyzer и компиляция платформой 1С в целевой ИБ. Используйте для модулей основной конфигурации, расширений и внешних обработок/отчётов.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

defin85/1c-runner-agnostic-template22026년 10월 11일 업데이트

Используйте, когда нужно создать информационную базу через канонический runtime contract проекта.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

defin85/1c-runner-agnostic-template22026년 10월 11일 업데이트

Используйте, когда нужно сравнить source tree или выполнить adapter-aware diff через repo-owned entrypoint.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

defin85/1c-runner-agnostic-template22026년 10월 11일 업데이트

1c-doctor

무료

Используйте, когда нужно проверить readiness runtime profile, adapter config и базовые зависимости проекта.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

defin85/1c-runner-agnostic-template22026년 10월 11일 업데이트

Используйте, когда нужно выгрузить конфигурацию или расширение в исходники через канонический runtime contract проекта.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

defin85/1c-runner-agnostic-template22026년 10월 11일 업데이트

Находит точную причину повторного падения процессов сервера 1С в Linux: SIGABRT, технологический журнал, core dump, GDB, C++-исключения и проверка причины. Используйте, когда rphost, ragent или rmngr исчезает, становится zombie, завершается сигналом 6 или оставляет core.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

defin85/1c-runner-agnostic-template22026년 10월 11일 업데이트

defin85의 스킬 모두 보기

이 스킬의 문제 신고