swoole-crontab

使用php开发,基于swoole扩展开发的工具
授权协议 GPL
开发语言 PHP
所属分类 程序开发、 作业/任务调度
软件类型 开源软件
地区 国产
投 递 者 应志用
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Swoole-Crontab(基于Swoole扩展)

1.概述

  • 基于swoole的定时器程序,支持秒级处理.
  • 异步多进程处理。
  • 完全兼容crontab语法,且支持秒的配置,可使用数组规定好精确操作时间
  • 单中心-多客户端模式,能够横向扩展
  • web界面管理,增删改查任务,完整的权限控制.
  • 请使用swoole扩展1.8.0+
  • v0.8版本入口

2.架构图

3.Crontab配置

介绍一下时间配置

0   1   2   3   4   5
|   |   |   |   |   |
|   |   |   |   |   +------ day of week (0 - 6) (Sunday=0)
|   |   |   |   +------ month (1 - 12)
|   |   |   +-------- day of month (1 - 31)
|   |   +---------- hour (0 - 23)
|   +------------ min (0 - 59)
+-------------- sec (0-59)[可省略,如果没有0位,则最小时间粒度是分钟]

4.开始使用

1.修改配置

/path/to/src/admin/config/dev/db.php 中修改mysql配置。
/path/to/src/center/config/dev/db.php 中修改mysql配置。
进入mysql数据库执行/path/to/doc/crontab.sql 的sql文件
src/center/_init.php   修改 PUBLIC_PATH   swoole framework框架所在的路径

2.下载swoole framework框架到本地/data/www/public/ framework

3.配置nginx,列子如下:

server {
    listen       80;
    server_name  crontab.test.com;

    root /data/www/wwwroot/swoole-crontab/src/public;

    index index.php index.html;
    location / {
        if (!-e $request_filename) {
            rewrite ^/(.*)$ /index.php;
        }
    }
    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

}

4.启动中心服

/path/to/php /path/to/src/center/center  start -d -h 127.0.0.1 -p 8901

5.启动客户端

-h 是指中心服地址 -p 中心服端口
/path/to/php /path/to/src/agent/agent.php start -d -h 127.0.0.1 -p 8901

6.web界面访问

输入nginx配置的地址访问web界面,默认用户名/密码是admin/admin

7.各配置文件的修改

7.1 admin管理后台的配置文件修改

src/admin/configs/dev/db.php  修改数据库配置
src/admin/configs/dev/service.php  中心服启动时候监听的ip端口,需要跟中心服通讯
src/public/index.php  
     修改 WEBROOT       域名
     修改 PUBLIC_PATH   swoole framework框架所在的路径

7.2 中心服配置

src/center/configs/dev/db.php 修改数据库配置

4.使用交流

QQ群:560807006

 

  • Swoole实现简单crontab定时器介绍 大家好,小安第一次在TP5上利用SWOOLE扩展实现了简单的与linux系统一样的crontab功能,不过由于swoole的时间长度限制,故而只能设置时间(如23:59:59 /var/www/html/php think Task.php),每日执行。 1.首先安装swoole扩展; 2.使用起来也很简单,直接在项目根目录下执行:php think

  • swoole定时器的特点是准确到毫秒,而crontab是分钟。 今天记录的是crontab,不是linux的哦~ 不多说,直接上代码,简单粗暴~~~~ 1,设置路由(看个人需求): <?php /** * Author * Github */ namespace App\HttpController; use App\Calculate\DbTest\DbTest; use Eas

  • 完成了基本功能开发以后,一个更加急迫需要解决的问题摆在面前:消息的推送、存储和准确性、失败重跑,En。 DB 使用异步处理性能会变得更快 list -> Mysql 用来检测DB处理失败的情况,已达到最终一致性 对于消息推送失败的场景下,定时检测,重新推送 1.DB异步,异步处理是一个提高性能常用的方式和方法。 namespace App\WebSocketController\V1; use

  • swoole配合crontab服务器部署高可用 shell代码如下 count=`netstat -ln | grep 9501| wc -l` echo $count if [ $count -lt 1 ]; then ulimit -c unlimited /www/server/php/71/bin/php /www/swoole.php echo "restart"; echo $(dat

  • 基础知识 1.1 什么是Shell编程? 在 Unix 中,shell 可不是简单的命令解释器(典型的有 Windows 中的 DOS ),而是一个全功能的编程环境。Shell 是操作系统的一部分,用来与用户打交道,并且可以用来协调各个命令【1】。用Shell编程可以灵活地解决大量重复任务,十分方便。但是,Shell的语 法十分怪异(个人意见),不容易记,如果现在熟悉的语言可以用来写shell那就

 相关资料
  • 本文档主要记录 Swoole 内核开发的各项规范、技术原因、讨论。 并行 进程池 线程池 TCP buffer reactor 线程 connection_list 内存管理 RingBuffer 环形内存池 全局变量 taskwait 的 result 内存 版本管理 奇偶数单双号原则 开发流程规范化 Docker Alpine 环境 编码风格 API 命名 C 语言符号优先级 为什么使用 bz

  • PHP 源码 Source Insight 相关资料 Extending and Embedding PHP PHP Internals Book 深入理解PHP内核 PHP扩展开发及内核应用 Laruence 鸟哥博客

  • 为了使调试更容易,Electron 原生支持 Chrome DevTools Extension。 对于大多数DevTools的扩展,你可以直接下载源码,然后通过 BrowserWindow.addDevToolsExtension API 加载它们。Electron会记住已经加载了哪些扩展,所以你不需要每次创建一个新window时都调用 BrowserWindow.addDevToolsExte

  • Electron supports Chrome DevTools extensions, which can be used to extend the ability of Chrome's developer tools for debugging popular web frameworks. 使用工具加载 DevTools 扩展 加载 DevTools 扩展的最简单方法是使用第三方工具,

  • 阅读《入门指南》和《概述》后,可以将该指南用作扩展组件和功能的概述。鼓励开发人员探索和扩展功能。 自定义扩展用户界面 Browser Actions 将图标,工具提示,徽章和弹出窗口添加到工具栏。 Commands 添加触发操作的键盘快捷键。 Context Menus 将 item 添加到 Google Chrome的上下文菜单。 Omnibox 将关键字功能添加到地址栏。 Override P

  • Electron支持Chrome DevTools 扩展程序,可增强开发工具调试流行web框架的能力 DevTools Extension Electron supports the Chrome DevTools Extension, which can be used to extend the ability of devtools for debugging popular web fra