For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /ru/docs/web/setup-jobs.md (or send Accept: text/markdown).
Настройка фоновых задач
Долговечные задачи через Trigger.dev — плюс локальный тик планировщика.
Настройка и конфигурация
Перед любым действием прочтите Перед началом работы и Основные сведения о терминале. В этих инструкциях предполагается, что вы открыли полный монорепозиторий supastack в VS Code; его корень package.json отмечает корень репозитория. В командах pnpm пакет рабочей области представляет собой папку приложения или общего кода; В продукте рабочее пространство — это контейнер данных и граница безопасности команды. corepack pnpm --filter ... выбирает один пакет из монорепозитория, пока команды выполняются из его корня. Если вы открыли только синхронизированную папку мобильного устройства или рабочего стола, она не содержит веб-серверной части, настройки Docker или корневых сценариев: запустите серверную часть из этого монорепозитория или доступного размещенного сервера и используйте собственные сценарии папки платформы. Переменная среды — это именованный параметр, хранящийся в локальном файле .env или на панели управления хостингом; перезапустите соответствующее приложение после его изменения и не допускайте попадания секретов сервера в значения NEXT_PUBLIC_ и EXPO_PUBLIC_.
1. Откройте apps/web/src/job-handlers.ts и apps/web/src/scheduler-runtime.ts в VS Code. Работа — это фоновая работа; планировщик решает, когда поставить его в очередь.
2. Для локальной галочки устанавливаем одинаковый SCHEDULER_TICK_SECRET в apps/web/.env.local и корневой .env репозитория; сценарий тикания считывает корневой файл .env, а конечная точка Интернета считывает настройки своего приложения.
3. Запустите Web с помощью corepack pnpm --filter @supastack/web dev, затем запустите corepack pnpm jobs:tick из корня. Ожидается: терминал показывает результат POST из localhost:3000. Trigger.dev является отдельным поставщиком и нуждается в собственной учетной записи и ключах сервера.
Установите JOB_PROVIDER=trigger с серверными TRIGGER_SECRET_KEY и TRIGGER_PROJECT_REF для отправки продакшен-задач. Просмотрите apps/web/trigger.config.ts и задачу ai.generate в apps/web/trigger до настройки целевого проекта.
JOB_PROVIDER=trigger
TRIGGER_PROJECT_REF=your-project-reference
# Provide TRIGGER_SECRET_KEY through the server secret store.
# Local/self-hosted scheduler tick:
# SCHEDULER_TICK_SECRET=…
# SCHEDULER_TICK_URL=http://localhost:3000Команды для копирования
Следуйте комментариям, чтобы узнать, в какой папке запускается команда. Если помечены два терминала, откройте два окна терминала и продолжайте выполнять первую команду, пока используете вторую.
# Terminal 1 — start the Web app from the monorepo root:
corepack pnpm --filter @supastack/web dev
# Terminal 2 — run one scheduler tick from the monorepo root:
corepack pnpm jobs:tickРабочий процесс внедрения
Общий контракт JobRunner обещает enqueue, status и cancel. Trigger.dev владеет семантикой, специфичной для workflow; не выводите планирование, повторы или гарантии устойчивости из общего интерфейса.
Устойчивый ID задачи приложения связывает отправку, выполнение работником, записи использования и результаты. Неудачное прикрепление метаданных запуска провайдера после подтверждённой отправки не должно вызывать повторную отправку или инвалидировать принятую работу.
Проверка и устранение неполадок
Если тик возвращает 404, убедитесь, что секрет существует в обоих файлах настроек и точно соответствует, а затем перезапустите Web. Если терминал сообщает, что соединение отклонено, сначала запустите Web. Если ни одно задание не выполнялось, проверьте, включено ли расписание и срок выполнения; одна отметка не приводит к немедленному запуску будущего расписания.
Проверьте, что развёрнутый идентификатор задачи и проект совпадают с настроенным окружением. Отделяйте приём отправки от завершения workflow и от доставки почты. Прочитайте docs/production-ai-runtime.md о восстановлении и безопасной диагностике до ручного повтора работы.
Чтобы продолжить настройку, прочитайте Настройка файлового хранилища.