# 定时任务

# 什么是定时任务?

对于一些需要提前安排的任务或者需要自动在指定时间运行的任务,用户可以自行确定任务执行时间。 到达指定时间后,任务便会自动运行指令。

# A3Mall定时任务

  • 一般定时执行常用方法

    Linux 环境下可编写 Shell 脚本,Windows系统可使用计划任务创建命令窗口。

    使用 Workerman 异步的PHP socket框架 使其环境支撑常驻进程。

    使用 Swoole PHP 协程框架 使其环境支撑常驻进程。

  • A3Mall商城系统使用的是Workerman来实现定时任务功能

在使用定时任务时,需要确认您使用的服务器环境是否支持该功能。

# 环境要求

# Windows

workerman从3.5.3版本开始已经能够同时支持linux系统和windows系统。

  1. 需要PHP>=5.3.3,并配置好PHP的环境变量。

  2. Windows版本的Workerman不依赖任何扩展。

  3. 安装使用以及使用限制这里。

  4. 由于Workerman在Windows下有诸多使用限制,所以正式环境建议用Linux系统,windows系统仅建议用于开发环境。

====本页面以下只适用于Linux用户,Windows用户请忽略。 ====

# Linux用户(含Mac OS)

Linux用户只能使用Linux版本的Workerman。

  1. 安装PHP>=5.3.3,并安装了pcntl、posix扩展

  2. 建议安装event或者libevent扩展,但不是必须的(注意event扩展需要PHP>=5.4)

# Linux环境检查脚本

  • Linux用户可以运行以下脚本检查本地环境是否满足WorkerMan要求
curl -Ss http://www.workerman.net/check.php | php
  • 如果脚本中全部提示ok,则代表满足WorkerMan运行环境

(注意:检测脚本中没有检测event扩展或者libevent扩展,如果并发连接数大于1024建议安装event扩展或者libevent扩展,安装方法参见下一节)

# 已有PHP环境安装缺失扩展

  • 如果您的检测没有通过,请查看workeman官方安装说明:http://doc.workerman.net/install/install.html

# 运行定时任务

在终端或者cmd运行:
php think task [ status ] [ --d ]
php think task start|stop|restart --d (daemon(守护进程)方式启动)

# 后台展示

图片alt