mcpField
B
batch-processing-jobs

batch-processing-jobs

github.com/aj-geddes开发373475 次安装34 周前更新
代码仓库

关于 batch-processing-jobs

用于构建批处理系统的参考技能,适合大规模数据、定时任务和异步操作,包含队列、工作进程及调度器示例。

主要功能

  1. 01Bull Queue 和 Celery 风格示例
  2. 02Cron 调度器指导
  3. 03重试与死信队列
  4. 04任务优先级与监控

适用场景

  1. 01处理大型数据集
  2. 02生成定时报表
  3. 03运行 ETL 和数据传输
  4. 04执行批量更新或清理任务

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill batch-processing-jobs

安装后在 Claude Code 中输入/batch-processing-jobs确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
bull-queue-nodejs.md
celery-style-worker-python.md
cron-job-scheduler.md
scripts/
validate-pipeline.sh
templates/
pipeline.yaml

详细介绍

批处理作业

目录

概述

实现可扩展的批处理系统,高效处理大规模数据、定时任务和异步操作。

适用场景

  • 处理大型数据集
  • 定时生成报告
  • 电子邮件/通知活动
  • 数据导入和导出
  • 图像/视频处理
  • ETL 流水线
  • 清理和维护任务
  • 长时间运行的计算
  • 批量数据更新

快速入门

最小可运行示例:

import Queue from "bull";
import { v4 as uuidv4 } from "uuid";

interface JobData {
  id: string;
  type: string;
  payload: any;
  userId?: string;
  metadata?: Record<string, any>;
}

interface JobResult {
  success: boolean;
  data?: any;
  error?: string;
  processedAt: number;
  duration: number;
}

class BatchProcessor {
  private queue: Queue.Queue<JobData>;
  private resultQueue: Queue.Queue<JobResult>;

  constructor(redisUrl: string) {
    // Main processing queue
// ... (see reference guides for full implementation)

参考指南

references/ 目录中的详细实现:

指南内容
Bull Queue (Node.js)Bull Queue (Node.js)
Celery-Style Worker (Python)Celery-Style Worker (Python)
Cron Job SchedulerCron Job Scheduler

最佳实践

✅ 应该做
  • 为所有作业实现幂等性
  • 使用作业队列进行分布式处理
  • 监控作业成功率和失败率
  • 实现带指数退避的重试逻辑
  • 设置合适的超时时间
  • 记录作业执行详情
  • 使用死信队列处理失败作业
  • 实现作业优先级
  • 将类似操作批量处理
  • 使用连接池
  • 实现优雅关闭
  • 监控队列深度和处理时间
❌ 不应该做
  • 在请求处理程序中同步处理作业
  • 忽略失败的作业
  • 设置无限重试次数
  • 跳过监控和告警
  • 在没有超时限制的情况下处理作业
  • 在队列中存储大型负载
  • 忘记清理已完成的作业

评论

支持 Markdown