magento2 配置自定义定时任务(cron )和计划组(cron group)教程

Ubuntu 14.04 + Magento 1.9 部署实战:LAMP 栈深度调优指南 LAMP 栈是 Web 应用最基础的运行环境,其组件间版本兼容性、模块加载顺序与运行时配置共同决定了系统稳定性。Apache 的 .htaccess 解析机制、PHP 的内存限制与 opcache 行为、MySQL 的 sql_mode 与 InnoDB 缓冲池设置,三者协同影响着电商系统的并发能力与安全基线。尤其在老旧但仍在服役的 Ubuntu 14.04 环境中,PHP 5.5.9 与 Magento 1.9.x 的耦合关系暴露出大量隐藏依赖——从 Apache 的 upstart 启动逻辑,到 MyS 阅读详情

本教程教你一步一步的创建一个自定义的cron job(定时任务),任选一个cron group。

1: 获取示例模块

  1. 登录到magento服务器,切换到 Magento 2文件系统所有者.
  2. 克隆 magento2 样本库.

    示例

    cd ~
    git clone git@github.com:magento/magento2-samples.git
    
  3. 创建一个目录来拷贝示例代码:

    mkdir -p /var/www/html/magento2/app/code/Magento/SampleMinimal
    
  4. 复制示例模块代码:

    cp -r ~/magento2-samples/sample-module-minimal/* /var/www/html/magento2/app/code/Magento/SampleMinimal
    
  5. 验证文件是否正确复制:

    ls -al /var/www/html/magento2/app/code/Magento/SampleMinimal
    

    You should see the following result:

    drwxrwsr-x.   4 magento_user apache  4096 Oct 30 13:19 .
    drwxrwsr-x. 121 magento_user apache  4096 Oct 30 13:19 ..
    -rw-rw-r--.   1 magento_user apache   372 Oct 30 13:19 composer.json
    drwxrwsr-x.   2 magento_user apache  4096 Oct 30 13:19 etc
    -rw-rw-r--.   1 magento_user apache 10376 Oct 30 13:19 LICENSE_AFL.txt
    -rw-rw-r--.   1 magento_user apache 10364 Oct 30 13:19 LICENSE.txt
    -rw-rw-r--.   1 magento_user apache  1157 Oct 30 13:19 README.md
    -rw-rw-r--.   1 magento_user apache   270 Oct 30 13:19 registration.php
    drwxrwsr-x.   3 magento_user apache  4096 Oct 30 13:19 Test
    
  6. 更新Magento 2 数据库和schema:

    php /var/www/html/magento2/bin/magento setup:upgrade
    

2: 验证样本模块

  1. 用管理员身份登录magento 2后台
  2. 点击 Stores > Configuration > ADVANCED > Advanced.
  3. 如下图:


3: 创建一个类来运行cron

  1. 为类创建目录并更改目录:

    mkdir /var/www/html/magento2/app/code/Magento/SampleMinimal/Cron && cd /var/www/html/magento2/app/code/Magento/SampleMinimal/Cron
    
  2. 在目录中创建了一个名为Test.php的文件:

<?php
namespace Magento\SampleMinimal\Cron;
use \Psr\Log\LoggerInterface;

class Test {
    protected $logger;

    public function __construct(LoggerInterface $logger) {
        $this->logger = $logger;
    }

/**
   * Write to system.log
   *
   * @return void
   */

    public function execute() {
        $this->logger->info('Cron Works');
    }

}

4: 创建 crontab.xml

在 /var/www/html/magento2/app/code/Magento/SampleMinimal/etc 目录创建 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="custom_cronjob" instance="Magento\SampleMinimal\Cron\Test" method="execute">
            <schedule>* * * * *</schedule>
        </job>
    </group>
</config>

5: 验证cron job

  1. 运行 Magento cron jobs:

    php /var/www/html/magento2/bin/magento cron:run
    
  2. 输入 magento cron:run 命令

  3. 运行查询sql SELECT * from cron_schedule WHERE job_code like '%custom%' 如下:

    1. 输入 mysql -u magento -p
    2. 输入 use magento;
    3. 输入 SELECT * from cron_schedule WHERE job_code like '%custom%';

    查询结果:

    +-------------+----------------+---------+----------+---------------------+---------------------+---------------------+---------------------+
    | schedule_id | job_code       | status  | messages | created_at          | scheduled_at        | executed_at         | finished_at         |
    +-------------+----------------+---------+----------+---------------------+---------------------+---------------------+---------------------+
    |        3670 | custom_cronjob | success | NULL     | 2016-11-02 09:38:03 | 2016-11-02 09:38:00 | 2016-11-02 09:39:03 | 2016-11-02 09:39:03 |
    |        3715 | custom_cronjob | success | NULL     | 2016-11-02 09:53:03 | 2016-11-02 09:53:00 | 2016-11-02 09:54:04 | 2016-11-02 09:54:04 |
    |        3758 | custom_cronjob | success | NULL     | 2016-11-02 10:09:03 | 2016-11-02 10:09:00 | 2016-11-02 10:10:03 | 2016-11-02 10:10:03 |
    |        3797 | custom_cronjob | success | NULL     | 2016-11-02 10:24:03 | 2016-11-02 10:24:00 | 2016-11-02 10:25:03 | 2016-11-02 10:25:03 |
    +-------------+----------------+---------+----------+---------------------+---------------------+---------------------+---------------------+
    

6: 设置自定义 cron group

  1. 打开 crontab.xml 在文本编辑器.
  2. 更改 <group id="default"> 为 <group id="custom_crongroup">
  3. 保存.
  4. 创建 /var/www/html/magento2/app/code/Magento/SampleMinimal/etc/cron_groups.xml 具有以下内容:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Cron:etc/cron_groups.xsd">
    <group id="custom_crongroup">
        <schedule_generate_every>1</schedule_generate_every>
        <schedule_ahead_for>4</schedule_ahead_for>
        <schedule_lifetime>2</schedule_lifetime>
        <history_cleanup_every>10</history_cleanup_every>
        <history_success_lifetime>60</history_success_lifetime>
        <history_failure_lifetime>600</history_failure_lifetime>
    </group>
</config>

7: 验证 cron group

  1. 运行cron job 在Magento自定义组:

    php /var/www/html/magento2/bin/magento cron:run --group="custom_crongroup"
    

    至少运行两次命令。

  2. 清除magento 2缓存:

    php /var/www/html/magento2/bin/magento cache:clean
    
  3. 用管理员身份登录到后台.
  4. 点击 Stores > Configuration > Advanced >System.
  5. 在右窗格中展开 Cron.

    如下图:


GoMage+DigitalOcean构建高弹性Magento电商架构 Magento作为主流开源电商框架,其高并发场景下的稳定性与伸缩性长期依赖模块化设计、基础设施确定性及动静分离能力。GoMage以事件驱动和原子化组件著称,提供低延迟库存同步、PWA加速与分布式锁等关键能力;DigitalOcean凭借固定性能Droplet、毫秒级VPC网络与轻量API,为电商系统提供可预测的云底座。二者结合,使Magento在流量洪峰中实现秒级扩容、故障隔离与缓存穿透防护,广泛应用于黑色星期五、双11等大促场景,并支撑从日均10万UV到百万级UV的平滑演进。 阅读详情

相关推荐

异构数据库迁移实战:从MySQL/Oracle到虚谷数据库的对象兼容性与性能调优

数据库迁移是系统架构演进中的常见需求,其核心在于确保数据与业务逻辑在不同数据库系统间的平滑过渡。从原理层面看,这涉及数据类型映射、SQL语法转换、事务机制适配等底层差异的调和。技术价值在于通过迁移实现技术自主可控、成本优化或性能提升,尤其在国产化替代浪潮下更具现实意义。应用场景广泛覆盖金融、政务、企业核心系统等领域的数据库国产化替换。本文聚焦于从MySQL和Oracle到虚谷数据库(Xugu)的迁移实践,深入剖析存储过程、触发器、视图等核心对象的兼容性处理与性能调优,为面临类似异构迁移任务的团队提供避坑指南

weixin_34006965的博客 379

Magento 2中文文档教程 - 配置和运行cron(定时任务)

cron(定时任务)概述 Magento 2 有许多功能需要用到cron(定时任务),例如下面这些功能: Catalog price rules(分类价格规则)Newsletters(通讯邮件)Generating(生成) Google sitemaps客户提醒/通知(产品价格变化,产品库存)刷新索引汇率自动更新 Magento 2 所有的电子邮件(包括所有的交易和订单确认) 我们建议您

小朱 5514

Ubuntu 18.04 部署 OpenLiteSpeed 实战指南

Web服务器是现代应用交付的基石,其选型直接影响并发性能、资源开销与运维效率。OpenLiteSpeed 作为轻量级高性能HTTP服务器,采用内置LSAPI架构实现PHP零拷贝执行,显著降低首字节响应延迟;相比Apache的.htaccess动态解析瓶颈和Nginx对PHP-FPM热重启的天然限制,它在老旧系统如Ubuntu 18.04上展现出更强的稳定性与兼容性。尤其在EOL系统环境中,其静态链接关键库、官方.deb包精准适配及图形化WebAdmin控制台等特性,大幅降低升级风险与维护成本,广泛适用于Wo

weixin_34320159的博客 396

PPQ安装与环境配置完全指南:CUDA加速与多框架兼容技巧

PPQ(神经网络量化工具)是面向工业应用的深度学习模型优化工具,支持多种硬件平台和推理框架,是AI工程师进行模型量化部署的理想选择。本文将详细介绍PPQ的安装步骤、CUDA加速配置及多框架兼容性设置,帮助新手快速上手。 ## 一、PPQ快速安装步骤 ### 1.1 环境准备要求 PPQ支持Linux系统,建议使用Python 3.7+环境。安装前需确保系统已安装以下依赖: - Python 3

gitblog_00068的博客 611

Ubuntu 20.04下Tomcat 10反向代理与TLS安全加固实战

Web服务器反向代理是现代Java应用部署的核心架构模式,其本质是通过Nginx或Apache等成熟C语言服务实现SSL/TLS终止、请求过滤与负载分发,从而卸载Tomcat的加密计算压力并增强边界防护能力。该方案基于HTTP/HTTPS协议栈分层原理,将传输层安全(TLS)、网络层访问控制(IP限流/白名单)与应用层防护(路径过滤、头信息加固)有机协同,显著提升系统安全性、性能稳定性与运维弹性。典型应用场景包括Spring Boot微服务网关、教育SaaS平台、政务后台系统等需满足等保合规、浏览器安全策略

an4455的博客 453

magento2-reindex:从后端管理快速轻松地重新索引您的 Magento2 存储,而不是使用命令行

从管理员重新索引 Magento 2 对于 Magento 2.0.x、2.1.x、2.2.x 和 2.3.x 从 Magento 的管理员重新索引您的 Magento 2 商店已被删除,您唯一的选择是将您的索引设置为“保存时更新”或使用 SSH/CLI 命令行重新索引,这很耗时。 使用我们用于 Magento 2 的免费 Reindex 模块,您可以从 Magento 管理员中快速轻松地更新单个或所有索引。 非常适合项目经理或 QA 部门在网站开发和新产品和功能测试期间使用。 此模块不适用于大型生产环境。 索引 catalog_category_product Category Products catalog_product_category Product Categories catalog_product_pr

Magento2.3.5创建一个cron定时任务

使用magento2学习创建一个cron定时任务

weixin_43169845的博客 1229

iOS自动化之打包-xcodebuild命令行打包.app并安装到ios模拟器

xcode xcodebuild xcrun ios模拟器 iOS UI自动化测试 ios自动打包安装到ios模拟器

z12347891的博客 5074

magento 定时任务

magento 1.Xsh /path/to/your/magento/site/root/cron.shmagento 2.Xphp /path/to/your/magento/site/html/root/magento -- --quiet cron:run设置定时任务:crontab -e */5 * * * * sh /path/to/magento/cron.sh >/dev/null

adu198888的博客 1231

Origin 2025b中文版安装全指南:避开乱码、水印与崩溃陷阱

Origin作为科研绘图领域的事实标准,其2025b版本首次官方支持简体中文UI,但安装远非‘下一步’即可完成。核心在于理解软件本体、语言包、许可证服务与系统区域设置四者间的耦合关系——尤其Windows非Unicode程序语言必须设为‘中文(简体,中国)’,否则必然触发坐标轴乱码、PDF文字方块等典型故障;而AI辅助拟合、内置Python 3.11等新特性,又依赖正确的字体链(如SimSun)与注册表强制加载(UILanguage=zh-CN)才能稳定启用。该版本广泛应用于材料科学、电化学、XRD/SEM

weixin_42548874的博客 1407

PCIe学习笔记(一)-------1.3 PCIe数据包(TLP,DLLP,PLP)

1,PCIe的层次结构 PICe设备在硬件电路上可以分为三个层次结构:事务层(Transaction Layer)、数据链路层(Data Link Layer)、物理层(Physical)。每一个层次又可以分为两个部分,分别为处理发送和处理接收的部分。 也可以分为四个层次,将事务层以上的层次称为软件层(Software Layer)。 2,PCIe数据包 前面已经说过PCIe之间是以数据包的形式来传输数据的,协议共定义了3类数据包。与处理层相关的是处理层数据包(TLP),与数据链路层相关的是数据

llxxyy507的博客 2万+

magento cron 配置

* * * * * root /usr/bin/curl http://192.168.1.214/cron.php

Terry - 专注外贸B2C 1837

Shopee App加密算法逆向实战:从抓包到libshpssdk.so的深度解析

本文详细解析了Shopee App加密算法的逆向过程,从网络抓包发现加密参数入手,通过Frida动态Hook定位到Java层关键方法,并深入追踪至Native层的libshpssdk.so核心函数。文章结合实战演示了如何利用Unidbg模拟执行环境进行算法分析与验证,并探讨了核心参数生成逻辑及风控规避要点,为移动安全与逆向工程研究提供了完整的技术路径。

weixin_28347369的博客 527

【magento2配置专题9】配置自定义定时任务(cron )和计划组(cron group)

1: 获取示例模块 登录到magento服务器,切换到 Magento 2文件系统所有者. 克隆 magento2 样本库. 示例 cd ~ git clone git@github.com:magento/magento2-samples.git 创建一个目录来拷贝示例代码: mkdir -p /var/www/html/magento2/app/code/M...

深漂小码哥 1540

[华为]华为无线控制器AC6508简单配置实例

用户需求:3个地址段,分别是领导、员工、访客,访问控制策略是只允许访客上网,不允许访客访问内网。 vlan173为设备的管理地址和AP获取的地址,领导、员工、访客的vlan分别是vlan131/vlan132/vlan133 首先是许可的下载,使用华为的账号登陆http://app.huawei.com/isdp ,然后按照说明输入许可,下载许可,将许可导入到设备。 web界面访问后,直接按照配置向导配置就可以了。 1.基本配置里主要配置license、设备名称、设备时间 2.端口配置:连接上

日子_很简单 2万+

uniapp - 微信支付报错 requestPayment:fail:HBuilder mainifest.json中配置的支付appid和生成订单使用的appid不一致,如果是HB调试请在线打包

uni-app,h5移动端网页,微信小程序,支付宝小程序,Android安卓,苹果ios,app,nvue,微信支付,报错,errMsg,requestPayment:fail:HBuildermainifest.json中配置的支付appid和生成订单使用的appid不一致,如果是HB调试请在线打包,http://ask.dcloud.net.cn/article/282,已经都检查了还是报错,如何解决这个问题,还是不行,错误,苹果微信支付报错,安卓app微信支付出错,打包,在线打包也不行,本地打包,支

🏆 前端领域优质创作者 3500

[转]Magento 2中文文档教程 - 配置和运行cron(定时任务)

本文转自:https://blog.youkuaiyun.com/xz_src/article/details/72793476 cron(定时任务)概述 Magento 2 有许多功能需要用到cron(定时任务),例如下面这些功能: Catalog price rules(分类价格规则) Newsletters(通讯邮件) Generating(生成) Google sitemaps 客户提...

weixin_30823833的博客 190

复现《水化硅铝酸钙微结构和性能的分子动力学模拟研究》的分子动力学模拟

本文详细复现了杨军博士论文中关于水化硅铝酸钙(C-A-S-H)凝胶的分子动力学模拟方法。研究内容包括:1)基于11Å Tobermorite构建C-A-S-H分子模型,通过缺陷引入和Al掺杂调节Ca/Si比;2)使用ReaxFF力场模拟交联C-A-S-H的结构与力学性能;3)采用ClayFF力场研究纳米孔道中水和离子传输行为。研究提供了完整的LAMMPS输入脚本、Python分析代码和力场参数设置,为水泥基材料纳米尺度模拟提供可复现的技术方案。

huanghm88的专栏 105

Magento 2 Could not acquire lock for cron group: default

错误: report.WARNING: Could not acquire lock for cron group: default, skipping run [] [] 解决方法: ps ufx | grep cron 查看cron进程 这里的进程ID是336210 kill -9 336210 结束进程

CyrusZhou的专栏 1867

【YoloV8改进策略】上采样改进|EUCB,轻量高效的上采样模块|即插即用

YOLOv8作为当前最先进的实时目标检测与实例分割模型之一,其在速度与精度之间取得了出色的平衡。然而,在资源受限的边缘设备或对实时性要求极高的应用场景中,YOLOv8的计算开销,尤其是在特征金字塔网络(FPN)和路径聚合网络(PAN)中用于特征融合的上采样操作,仍然是一个瓶颈。YOLOv8的颈部(Neck)结构中广泛使用nn.Upsample进行上采样,该操作虽然简单,但缺乏对特征内容的感知能力,且后续通常需要标准卷积来修复因插值带来的伪影,这增加了不必要的计算负担。

m0_47867638的博客 752

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Magento 2.4+ 在 DigitalOcean 生产环境部署与调优实战

Magento 是面向中大型电商场景的模块化 PHP 企业级框架,其性能高度依赖数据库连接池管理、全页缓存(FPC)、Elasticsearch 搜索响应及静态资源分发效率四大刚性能力。DigitalOcean 凭借可控的 Managed MySQL、S3 兼容 Spaces 对象存储、精准网络栈与轻量 ES Droplet 镜像,在保障 PCI DSS 基础合规前提下,显著降低运维复杂度与隐性耗时。该组合特别适用于年营收 800 万–8000 万元、IT 人员 ≤3 人的成长型 DTC 品牌,兼顾弹性扩展

weixin_34212762的博客 356

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Debian 11 安装 Composer 2.5 全指南:版本兼容、GPG 验证与安全加固

Composer 是 PHP 项目依赖管理的核心工具,其工作原理基于语义化版本约束解析、远程包元数据获取与自动加载映射生成。在 Debian 11 这类以稳定性优先的发行版中,系统源提供的 Composer 版本严重滞后,导致与现代 PHP 框架(如 Laravel 10、Symfony 6)及 Packagist 生态出现兼容性断裂——典型表现为 PSR-4 自动加载失败、TLS 握手拒绝、GPG 签名验证异常等。本文聚焦 Composer 2.5 在 Debian 11 上的手动部署实践,涵盖 PHP

weixin_34056162的博客 354

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Ubuntu 18.04 多版本 PHP 共存实战:Apache + PHP-FPM 精准路由

PHP 多版本共存是企业级 LAMP 环境的典型需求,源于不同应用对 PHP 解析器的兼容性差异——从已废弃的 mysql_* 函数到 PHP 8+ 的 JIT 编译特性,版本跃迁常引发运行时错误与数据异常。其技术本质是解耦 Web 服务器与语言处理器:Apache 负责请求分发与静态资源服务,PHP-FPM 以独立守护进程形式提供多实例、多配置、故障隔离的 FastCGI 服务。该架构天然支持按虚拟主机、路径或域名路由至指定 PHP 版本,兼顾遗留系统(如 PHP 5.6)与现代框架(如 Laravel

weixin_34326179的博客 399

Ubuntu 20.04原生LEMP栈搭建:从原理到生产级调优

LEMP栈(Linux+Nginx+MySQL+PHP)是Web服务最主流的开源技术组合,其本质是构建一个协同工作的动态Web运行时环境。理解Nginx反向代理与PHP-FPM进程管理的通信机制、MySQL字符集与连接协议的语义差异、以及APT包管理系统对依赖和权限的底层管控逻辑,是实现高可用、可调试、易维护服务的基础。掌握这些原理不仅能快速定位502 Bad Gateway、Connection refused等典型故障,更能支撑WordPress、Laravel等主流应用的稳定部署与性能优化。本文以Ub

weixin_30790841的博客 761

Magento设置cronjob来让系统自动发送newsletter

用Newsletter来让Magento系统自动发送邮件给已经subscribe的客户email,相信应该是很多人想知道具体怎么操作的,在此小生说明下,有错误的地方欢迎指正! 要让系统自动发送邮件 需要设置cronjob这个东西,他可以自动帮我们完成一些计划任务,这是针对Unix linux机器而言的。linux机器进去Terminal,如果是用虚拟机或者vps进去ssh命令行输入:cronta

YIP 3635

magento2消息队列

Magento2 的消息队列的使用 一、消息队列支持的类型 Magento2自从2.3.2以后优惠券生成使用了消息队列,队列实现的方式有两种一种时mq,另外一种是mysql 二、消息队列的配置: queue.xml-定义处理主题的代理。仅用于db(MySQL)连接。不要为amqp(RabbitMQ)连接创建此文件。 communication.xml -定义所有通信类型共有的消息队列系统的...

qq_26511139的博客 1090
上一篇: Magento开发教程 - 后台设置多个网站,商店和商店视图
下一篇: Magento 2开发教程 - 配置数据库分析器(profiler)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值