background-job-processing — скилл для Claude Code: очереди задач
Скилл помогает настроить фоновую обработку задач: очереди, воркеры, расписание и повторные попытки при сбоях. Пригодится, когда письма, отчёты и большие выгрузки нельзя держать в основном потоке.
npx skills add aj-geddes/useful-ai-prompts --skill background-job-processing -a claude-codeЧто делает background-job-processing
Скилл описывает, как собрать систему фоновых задач: распределённые очереди, пулы воркеров, планирование, обработку ошибок и мониторинг. Внутри есть краткий рабочий пример на Celery с Redis и таблица справочников в каталоге references/ — по Python с Celery и Redis, Node.js с Bull Queue, Ruby с Sidekiq, а ещё по повторным попыткам, обработке ошибок и наблюдаемости.
Отдельный блок — правила. Среди них таймауты задач, идемпотентность, приоритеты, экспоненциальная задержка между попытками и dead-letter очереди для упавших задач. Есть и список того, чего делать не стоит: синхронные операции внутри асинхронных задач, неограниченные повторы, хранение крупных объектов в данных задачи.
Пример в быстром старте берёт адрес брокера из переменной окружения REDIS_URL, поэтому перед запуском воркеров проверьте, что Redis доступен и переменная задана. Иначе приложение молча уйдёт на redis://localhost:6379/0 и упадёт на подключении.
Какие задачи решает
- вынести отправку писем из HTTP-запроса в фон
- настроить повторные попытки с экспоненциальной задержкой
- развести задачи по приоритетам и отдельным очередям
- добавить dead-letter очередь для упавших задач
- следить за глубиной очереди и сбоями
Примеры запросов агенту
- Помоги настроить Celery с Redis для фоновой отправки писем
- Добавь повторные попытки с экспоненциальной задержкой и dead-letter очередь для упавших задач
- Разнеси тяжёлые выгрузки по отдельной очереди с ограничением времени на задачу
Как установить background-job-processing
1Через Skills CLI (Vercel)
npx skills add aj-geddes/useful-ai-prompts --skill background-job-processing -a claude-code2Вручную: положить файлы
~/.claude/skills/background-job-processing/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/background-job-processing/
1Через Skills CLI (Vercel)
npx skills add aj-geddes/useful-ai-prompts --skill background-job-processing -a codex2Вручную: положить файлы
.agents/skills/background-job-processing/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add aj-geddes/useful-ai-prompts --skill background-job-processing -a cursor2Вручную: положить файлы
.cursor/skills/background-job-processing/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install aj-geddes/useful-ai-prompts background-job-processing2Вручную: положить файлы
.github/skills/background-job-processing/SKILL.md1Через Skills CLI (Vercel)
npx skills add aj-geddes/useful-ai-prompts --skill background-job-processing -a gemini-cli2Командой платформы
gemini skills install https://github.com/aj-geddes/useful-ai-prompts --path skills/background-job-processingВручную: положить файлы
.devin/skills/background-job-processing/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add aj-geddes/useful-ai-prompts --skill background-job-processing -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора118
Похожие
Рядом в теме «Бэкенд и API»
Всё по теме «Бэкенд и API» →Вопросы о background-job-processing
Как установить background-job-processing в Claude?
Выполните npx skills add aj-geddes/useful-ai-prompts --skill background-job-processing -a claude-code. После этого файл скилла лежит по пути ~/.claude/skills/background-job-processing/SKILL.md.
Что делает background-job-processing?
Описывает построение фоновой обработки задач: очереди, пулы воркеров, планирование, обработка ошибок и повторные попытки. Внутри есть пример на Celery с Redis и справочники по нескольким языкам.
Что нужно для работы скилла?
Пример в быстром старте читает адрес брокера из переменной REDIS_URL, так что нужен доступный Redis и заданная переменная окружения. Справочники охватывают Celery, Bull Queue и Sidekiq.
Исходный текст
SKILL.md · MIT
---
name: background-job-processing
description: >
Implement background job processing systems with task queues, workers,
scheduling, and retry mechanisms. Use when handling long-running tasks,
sending emails, generating reports, and processing large datasets
asynchronously.
---
# Background Job Processing
## Table of Contents
- [Overview](#overview)
- [When to Use](#when-to-use)
- [Quick Start](#quick-start)
- [Reference Guides](#reference-guides)
- [Best Practices](#best-practices)
## Overview
Build robust background job processing systems with distributed task queues, worker pools, job scheduling, error handling, retry policies, and monitoring for efficient asynchronous task execution.
## When to Use
- Handling long-running operations asynchronously
- Sending emails in background
- Generating reports or exports
- Processing large datasets
- Scheduling recurring tasks
- Distributing compute-intensive operations
## Quick Start
Minimal working example:
```python
# celery_app.py
from celery import Celery
from kombu import Exchange, Queue
import os
app = Celery('myapp')
# Configuration
app.conf.update(
broker_url=os.getenv('REDIS_URL', 'redis://localhost:6379/0'),
result_backend=os.getenv('REDIS_URL', 'redis://localhost:6379/0'),
task_serializer='json',
accept_content=['json'],
result_serializer='json',
timezone='UTC',
enable_utc=True,
task_track_started=True,
task_time_limit=30 * 60, # 30 minutes
task_soft_time_limit=25 * 60, # 25 minutes
broker_connection_retry_on_startup=True,
)
# Queue configuration
default_exchange = Exchange('tasks', type='direct')
app.conf.task_queues = (
// ... (see reference guides for full implementation)
```
## Reference Guides
Detailed implementations in the `references/` directory:
| Guide | Contents |
|---|---|
| [Python with Celery and Redis](references/python-with-celery-and-redis.md) | Python with Celery and Redis |
| [Node.js with Bull Queue](references/nodejs-with-bull-queue.md) | Node.js with Bull Queue |
| [Ruby with Sidekiq](references/ruby-with-sidekiq.md) | Ruby with Sidekiq |
| [Job Retry and Error Handling](references/job-retry-and-error-handling.md) | Job Retry and Error Handling |
| [Monitoring and Observability](references/monitoring-and-observability.md) | Monitoring and Observability |
## Best Practices
### ✅ DO
- Use task timeouts to prevent hanging jobs
- Implement retry logic with exponential backoff
- Make tasks idempotent
- Use job priorities for critical tasks
- Monitor queue depths and job failures
- Log job execution details
- Clean up completed jobs
- Set appropriate batch sizes for memory efficiency
- Use dead-letter queues for failed jobs
- Test jobs independently
### ❌ DON'T
- Use synchronous operations in async tasks
- Ignore job failures
- Make tasks dependent on external state
- Use unbounded retries
- Store large objects in job data
- Forget to handle timeouts
- Run jobs without monitoring
- Use blocking operations in queues
- Forget to track job progress
- Mix unrelated operations in one job
© aj-geddes · MIT · aj-geddes/useful-ai-prompts