mcpField
M
magento-cronjob-developer

magento-cronjob-developer

github.com/maxnorm开发31148 次安装40 周前更新
代码仓库

关于 magento-cronjob-developer

面向 Magento 2 开发的技能,用于设计和实现定时任务及后台处理。内容涵盖配置、执行、测试与可靠性实践,支持自动化业务和维护操作。

主要功能

  1. 01Cron 配置与调度
  2. 02任务类实现
  3. 03错误处理与日志记录
  4. 04资源与依赖管理
  5. 05测试与监控

适用场景

  1. 01自动更新库存或处理订单
  2. 02与外部系统同步数据
  3. 03安排维护与清理任务
  4. 04发送通知并生成报告

安装

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

$npx skills add https://github.com/maxnorm/magento2-agent-skills --skill magento-cronjob-developer

安装后在 Claude Code 中输入/magento-cronjob-developer确认已加载。

详细介绍

Magento 2 定时任务开发者

擅长创建可靠、高效的定时任务和后台进程,在维护系统性能与可靠性的同时,自动执行关键业务操作。

适用场景

  • 创建定时任务
  • 实现后台处理
  • 自动化系统操作
  • 构建数据同步任务
  • 实现维护任务
  • 创建通知系统

定时任务架构

  • Cron 配置:精通 crontab.xml 配置和任务调度
  • 任务类:实现稳健的任务执行类和错误处理
  • 调度管理:设计灵活的调度模式和间隔
  • 资源管理:优化内存和处理资源的使用
  • 依赖管理:处理任务依赖和执行顺序

定时任务开发流程

1. 任务规划与设计
  • 需求分析:了解业务需求和执行模式
  • 性能规划:规划预期负载和资源需求
  • 错误场景:识别潜在故障点和恢复策略
  • 监控策略:规划日志记录、告警和性能跟踪
  • 集成点:设计与现有系统和流程的集成方案
2. 配置设置
  • Crontab 配置:在 etc/crontab.xml 中配置任务调度
  • 分组组织:将任务归入逻辑分组和类别
  • 调度定义:定义合适的执行间隔和时间
  • 资源分配:规划内存限制和执行超时
  • 环境配置:针对不同环境进行配置
3. 任务实现
  • 任务类开发:创建稳健的任务执行类
  • 业务逻辑:实现核心任务功能和操作
  • 数据处理:处理数据验证、转换和存储
  • 错误处理:实现全面的错误处理和日志记录
  • 进度跟踪:创建进度监控和状态报告
4. 测试与部署
  • 单元测试:测试单个任务组件和逻辑
  • 集成测试:测试任务与系统组件的集成
  • 性能测试:验证任务在预期负载下的性能
  • 错误测试:测试错误场景和恢复机制
  • 部署策略:规划安全的部署和回滚流程

定时任务配置

crontab.xml 结构
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Cron:etc/crontab.xsd">
    <group id="default">
        <job name="vendor_module_job" instance="Vendor\Module\Cron\Job" method="execute">
            <schedule>*/5 * * * *</schedule>
        </job>
    </group>
</config>
任务类实现
<?php

declare(strict_types=1);

namespace Vendor\Module\Cron;

use Psr\Log\LoggerInterface;

class Job
{
    /**
     * @param LoggerInterface $logger
     */
    public function __construct(
        private readonly LoggerInterface $logger
    ) {
    }

    /**
     * Execute cron job
     */
    public function execute(): void
    {
        try {
            // Job logic here
            $this->logger->info('Cron job executed successfully');
        } catch (\Exception $e) {
            $this->logger->error('Cron job failed: ' . $e->getMessage());
            throw $e;
        }
    }
}

专用定时任务类型

电商自动化
  • 库存更新:自动同步库存水平并发送告警
  • 价格更新:定时调整价格并启用促销活动
  • 订单处理:自动更新订单状态并完成履约
  • 客户沟通:自动发送电子邮件营销活动和通知
  • 报告生成:定时生成业务报告和分析数据
数据管理任务
  • 数据导入/导出:自动与外部系统同步数据
  • 数据库维护:定时清理、优化和归档
  • 日志管理:自动轮转、清理和归档日志
  • 备份操作:定时创建并验证备份
  • 缓存管理:自动预热和失效缓存
系统维护
  • 性能监控:自动检查系统运行状况并发送告警
  • 安全扫描:定时执行安全审计和漏洞检查
  • 更新流程:自动更新系统和扩展
  • 清理操作:清理临时文件并优化资源
  • 索引管理:自动重新索引并优化搜索
集成任务
  • API 同步:按计划与外部 API 同步数据
  • 第三方更新:自动与外部服务集成
  • Webhook 处理:在后台处理 Webhook 通知
  • 数据转换:自动转换和迁移数据
  • 通知发送:按计划发送通知和警报

最佳实践

性能
  • 批处理:分批处理数据,避免内存问题
  • 资源管理:监控并限制内存使用
  • 执行时间:设置合适的执行超时时间
  • 锁管理:防止任务重叠和资源冲突
  • 优化:优化查询和数据处理
可靠性
  • 错误处理:全面处理错误并记录日志
  • 重试机制:针对暂时性故障实现重试逻辑
  • 监控:记录任务执行情况和错误
  • 警报:为任务失败设置警报
  • 恢复:为失败的任务实现恢复机制
安全性
  • 访问控制:确保任务执行具有适当权限
  • 数据验证:验证所有输入数据
  • 错误消息:不要在错误消息中泄露敏感信息
  • 日志记录:记录与安全相关的事件
  • 审计跟踪:为关键操作保留审计跟踪

测试

  • 单元测试:隔离测试任务逻辑
  • 集成测试:测试任务与系统组件的集成
  • 性能测试:验证任务在负载下的性能
  • 错误测试:测试错误场景和恢复机制
  • 计划测试:验证 cron 计划配置

监控与调试

日志记录
$this->logger->info('Job started');
$this->logger->debug('Processing item: ' . $itemId);
$this->logger->error('Job failed: ' . $exception->getMessage());
Cron 状态
# Check cron status
bin/magento cron:status

# Run cron manually
bin/magento cron:run

# Check cron schedule
bin/magento cron:schedule

参考资料

重点是创建可靠、高效的 cron 任务,在自动化业务运营的同时保持系统性能和可靠性。

评论

支持 Markdown