跳到正文
cccskills
免费在 GitHub 公开

1c-observe-run

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

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md7.1 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

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 / 1000 字

此表单受 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 的全部技能

报告此技能的问题