thinkphp 定时任务
时间: 2023-07-02 09:09:47 浏览: 170
基于thinkphp5框架的定时执行任务
ThinkPHP 6 中可以使用 Swoole 扩展来实现定时任务,具体步骤如下:
1. 安装 Swoole 扩展
可以使用 `pecl` 安装或自行编译安装,具体安装方法可以参考 Swoole 的官方文档。
2. 创建定时任务类
在 `app` 目录下创建一个名为 `Task` 的目录,在该目录下创建一个名为 `Crontab.php` 的文件,该文件中定义了一个名为 `run` 的方法,用于执行定时任务。
```php
<?php
namespace app\task;
class Crontab
{
public function run()
{
// 定时任务要执行的代码
}
}
```
3. 在 `app` 目录下创建一个 `swoole.php` 文件
在 `swoole.php` 文件中,定义了定时任务的执行规则和执行的任务。
```php
<?php
use Swoole\Timer;
use app\task\Crontab;
// 定义每分钟执行一次的定时任务
Timer::tick(60 * 1000, function () {
$task = new Crontab();
$task->run();
});
```
4. 启动定时任务
可以使用命令行启动定时任务:
```bash
php think swoole
```
或者将启动命令写入到 `supervisor` 的配置文件中,实现自动启动定时任务。
阅读全文