К основному содержанию
скилл CX Codex

encore-go-cron — скилл для Claude Code: cron-задачи в Encore Go

Скилл учит агента объявлять периодические задачи в Encore Go через cron.NewJob. Пригодится, когда нужно расписание вместо обработки запроса.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add encoredev/skills --skill encore-go-cron -a claude-code
npx skills add encoredev/skills --skill go-cron -a claude-code
Открыть на GitHub

Что делает encore-go-cron

Скилл описывает, как связать расписание с существующим эндпоинтом //encore:api. Объявление cron.NewJob ставится переменной уровня пакета, а не внутри функции, и ссылается на эндпоинт, который должен быть определён раньше.

Два формата расписания. Every принимает интервал вида "1h" или "30m", но он обязан делиться на 24 часа без остатка — "7h" не пройдёт. Schedule берёт обычное cron-выражение из пяти полей, все времена в UTC. Внутри есть таблица частых выражений: "0 * * * *" каждый час, "0 2 * * *" ежедневно в 02:00 UTC, "0 0 * * 0" по воскресеньям в полночь.

Локально при encore run cron-задачи не срабатывают: расписание запускается только в развёрнутом окружении. Поэтому отладка расписания на машине разработчика ничего не покажет. Эндпоинт стоит делать private, иначе его дёрнут снаружи. Логику держите идемпотентной — задача может сработать с опозданием или повториться при передеплое. Для фоновой работы по событиям, а не по таймеру, в том же наборе есть скилл encore-go-pubsub.

Какие задачи решает

  • объявить cron-задачу в Encore Go без ошибок в конфиге
  • выбрать между интервалом Every и выражением Schedule
  • перевести локальное время в UTC для расписания
  • закрыть cron-эндпоинт от внешних вызовов
  • сделать обработчик идемпотентным к повторному запуску

Примеры запросов агенту

  • Сделай задачу очистки истёкших сессий каждый час через cron.NewJob
  • Поставь ежедневную агрегацию на 02:00 UTC в Encore Go
  • Почему мой cron не запускается при encore run?

Как установить encore-go-cron

1Через Skills CLI (Vercel)

npx skills add encoredev/skills --skill encore-go-cron -a claude-code
npx skills add encoredev/skills --skill go-cron -a claude-code

2Вручную: положить файлы

~/.claude/skills/go-cron/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/go-cron/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о encore-go-cron

Как установить encore-go-cron в Claude Code?

Выполните npx skills add encoredev/skills --skill encore-go-cron -a claude-code. После этого файл скилла окажется в ~/.claude/skills/go-cron/SKILL.md.

Что делает encore-go-cron?

Показывает агенту, как объявлять периодические задачи в Encore Go через cron.NewJob из encore.dev/cron, и разбирает оба формата расписания.

Почему cron-задача не срабатывает локально?

При encore run расписания не выполняются — их запускает только развёрнутое окружение. Проверять расписание придётся после деплоя.

Исходный текст

SKILL.md · Apache-2.0
---
name: encore-go-cron
description: >-
  Schedule periodic / recurring work in Encore Go using `cron.NewJob` from `encore.dev/cron`. Covers `Every: "1h"` interval syntax and `Schedule: "0 9 * * 1"` cron expressions.
when_to_use: >-
  User wants to run a Go job on a schedule — anything with the words schedule, scheduled, daily, hourly, weekly, periodic, recurring, every N minutes/hours, "at HH:MM UTC", midnight, batch job, aggregation job, nightly, cleanup job, or background work that runs on a timer rather than in response to a request. Trigger phrases: "every day at 02:00 UTC", "daily aggregation", "run hourly", "scheduled task", "cron", "nightly cleanup", "on a schedule".
---

# Encore Go Cron Jobs

## Instructions

A `cron.NewJob` declaration in Encore Go ties a schedule to an existing `//encore:api` endpoint. The endpoint runs at the chosen cadence. Declare the job as a package-level variable — not inside a function.

```go
package cleanup

import (
    "context"
    "encore.dev/cron"
)

// 1. The endpoint to call (typically private: //encore:api private)
//encore:api private
func CleanupExpiredSessions(ctx context.Context) error {
    // Cleanup logic
    return nil
}

// 2. Package-level cron declaration
var _ = cron.NewJob("cleanup-sessions", cron.JobConfig{
    Title:    "Clean up expired sessions",
    Schedule: "0 * * * *", // Every hour
    Endpoint: CleanupExpiredSessions,
})
```

## Schedule Formats

| Field | Example | Description |
|---|---|---|
| `Every` | `"1h"`, `"30m"`, `"6h"` | Simple interval. **Must divide 24h evenly** — `"7h"` is invalid. |
| `Schedule` | `"0 9 * * 1"` | Standard cron expression (5 fields, UTC). |

### Common cron expressions

| Cron | Meaning |
|---|---|
| `"0 * * * *"` | Every hour, on the hour |
| `"0 2 * * *"` | Daily at 02:00 UTC |
| `"0 0 * * 0"` | Weekly on Sunday at midnight UTC |
| `"0 4 15 * *"` | 04:00 UTC on the 15th of each month |

## Important behaviour

- **Cron jobs do not execute when running locally with `encore run`.** Only deployed environments fire crons.
- The cron endpoint should be `private` so it can't be triggered externally — only the cron scheduler should call it.
- All times in `Schedule` are UTC. Convert from local time when designing the schedule.
- The endpoint must be defined at module load — declare it before the `cron.NewJob` reference.

## Guidelines

- Use `Every` for "run on a regular interval" (must divide 24h).
- Use `Schedule` for specific times of day or days of week.
- Keep endpoint logic idempotent: a cron may fire late or be retried in a redeploy window.
- For event-driven background work (not time-driven), use the `encore-go-pubsub` skill instead.

© encoredev · Apache-2.0 · encoredev/skills

Похожие скиллы

Все скиллы по теме «Бэкенд и API» →
convex-cron-jobs waynesutton Настраивает периодические задачи в convex/crons.ts и отложенный запуск через ctx.scheduler. Помогает разбить мутации на пачки и отладить фоновые очереди. CX Codex +1 2 800установок crontap-replace-vercel-cron Crontap Переносит расписание Vercel Cron в Crontap, сохраняя защищённый HTTP-маршрут и план отката. Нужен для внешнего планировщика. CX Codex +1 883установок c-cron daxaur Скилл для планирования повторяющихся задач и управления службами macOS. Пригодится, когда агенту нужно завести cron или запустить сервис через launchctl. CX Codex +1 ★ 173звёзд репо cron-jobs официальный Vercel Labs Скилл помогает настраивать и отлаживать регулярные задачи Vercel Cron Jobs в vercel.json. Пригодится при создании серверлесс-эндпоинтов по расписанию. CX Codex GP ChatGPT 6установок crontap-heartbeat-for-cron Crontap Добавляет cron-задаче heartbeat в Crontap: если задача упала или перестала запускаться, приходит алерт. Для тех, у кого есть регулярные джобы без присмотра. CX Codex +1 883установок render-cron-jobs Render Настраивает и чинит периодические задачи в Render. Помогает составить расписание в UTC и описать сервис type: cron в render.yaml. CX Codex +1 439установок

Из того же набора25

encore-pubsub Скилл помогает строить асинхронный обмен событиями в Encore.ts через Topic и Subscription, включая фоновые обработчики и доставку сообщений. CX Codex +1 415установок encore-bucket Учит агента работать с объектным хранилищем Encore.ts: загрузка, скачивание, список и удаление файлов через Bucket. CX Codex +1 419установок encore-webhook Скилл учит агента принимать входящие вебхуки от Stripe, GitHub, Slack и других сервисов через api.raw() и проверять подписи. CX Codex +1 418установок encore-go-secret Скилл учит агента объявлять API-ключи и пароли в Encore Go через структуру secrets и задавать значения по окружениям. CX Codex +1 307установок encore-go-pubsub Помогает писать асинхронный обмен сообщениями в Encore Go через topics и subscriptions. Нужен для фоновых обработчиков и публикации событий. CX Codex +1 305установок encore-go-webhook Скилл помогает принимать webhook-события в Encore Go через raw HTTP, проверять подписи и передавать обработку в Pub/Sub. CX Codex +1 303установок encore-go-bucket Скилл подсказывает агенту, как объявлять бакеты и работать с файлами в Encore Go: загрузка, выгрузка, подписанные ссылки. CX Codex +1 307установок encore-go-cache Скилл учит агента писать кэш в Redis из Go-сервисов на Encore: типизированные keyspaces, TTL, атомарные счётчики. CX Codex +1 304установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой