PHPackages                             dragonlhp/crontab - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. dragonlhp/crontab

ActiveLibrary

dragonlhp/crontab
=================

php crontab base on pcntl and libev

1.6.3(7y ago)024MITPHPPHP &gt;=5.6.0

Since Feb 23Pushed 7y agoCompare

[ Source](https://github.com/cnPauLi/crontab)[ Packagist](https://packagist.org/packages/dragonlhp/crontab)[ RSS](/packages/dragonlhp-crontab/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (5)Versions (8)Used By (0)

php\_crontab
============

[](#php_crontab)

[![Total Downloads](https://camo.githubusercontent.com/ebe53de4c3a7fffb50aa1a408c49ed7df06f558bb332caed067a382ab4f8e4ae/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6a656e6e65722f63726f6e7461622e7376673f7374796c653d666c6174)](https://packagist.org/packages/jenner/crontab)[![Latest Stable Version](https://camo.githubusercontent.com/3c6c8aef4981912de9a1756209ee327da50de8854e791576e723fdfc9fb5895d/687474703a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6a656e6e65722f63726f6e7461622e7376673f7374796c653d666c6174)](https://packagist.org/packages/jenner/crontab)[![License](https://camo.githubusercontent.com/4baece752d619eeae630b9451c776ed9a9e853d5c4a7bec2900a3e61477493a4/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6a656e6e65722f63726f6e7461622e7376673f7374796c653d666c6174)](https://packagist.org/packages/jenner/crontab)

基于pcntl和react/event-loop的定时任务管理器

[英文说明](https://github.com/huyanping/php_crontab/blob/master/README.md "英文说明")

为什么使用php\_crontab？
------------------

[](#为什么使用php_crontab)

当我们有少量的定时任务需要管理时，unix的crontab服务时足够的。如果我们有非常多的定时任务 需要管理时，机会有一些问题，例如：

- crontab服务通过一个文本文件管理定时任务，如果没有注释，对新人来说去理解他们是比较难的。
- 如果定时任务分散在许多机器上，管理他们也是比较难的。
- 如果你想收集他们的日志，同样不会简单。
- 不同用户的定时任务分散在不同的文件中。 基于以上几点原因，我们需要一个可以统一管理配置的定时任务管理器。

如何使用php\_crontab？
-----------------

[](#如何使用php_crontab)

有两种方式使用php\_crontab管理你的定时任务。 你可以写一个脚本，然后把它加入到crontab服务器中，每分钟执行一次。例如`tests/simple`。 或者你可以写一个守护进程脚本，它会像一个服务一样一只运行，直到你杀死它。 它将每分钟检查一次定时任务。例如`tests/daemon.php`

特性
--

[](#特性)

- 定时任务管理可以被存储在任何地方。例如：mysql、redis等。
- 定时任务的日志可以根据你的需要进行配置
- 多个用户的定时任务可以统一管理
- 多进程，每个任务一个进程
- 你可以为每个任务设置用户和用户组
- 标准输出可以进行重定向
- 基于react/event-loop，它可以作为一个守护进程运行
- 一个HTTP服务器，你可以通过它管理定时任务

HTTP 接口
-------

[](#http-接口)

HTTP 方法: `GET`

- `add` 增加任务
- `get_by_name` 根据任务名称获取任务
- `remove_by_name` 根据任务名称删除任务
- `clear` 删除所有任务
- `get` 获取所有任务
- `start` 开始检测定时任务
- `stop` 停止检测定时任务

示例:

```
http://host:port/add?name=name&cmd=cmd&time=time&out=out&user=user&group=group&comment=comment
http://host:port/get_by_name?name=name
http://host:port/remove_by_name?name=name
http://host:port/clear
http://host:port/get
http://host:port/start
http://host:port/stop
```

**基于crontab服务运行**

```
* * * * * php demo.php
```

```
