热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

TP6:自定义Workerman指令

https:www.kancloud.cnmanualthinkphp6_01147857有时候我们希望使用think的命令行运行workerman,这里做一个介绍,通过compo

https://www.kancloud.cn/manual/thinkphp6_0/1147857

有时候我们希望使用think的命令行运行workerman,这里做一个介绍,

通过 composer 安装

composer require topthink/think-worker

1:先新建一个指令,参考文档:自定义指令,比如新建命令:

php think make:command Hello hello

2:复制下面的代码到指令里,覆盖原始的configure和execute方法

protected function configure()
{
// 指令配置
$this->setName('convert')
->addArgument('action', Argument::OPTIONAL, "start|stop|restart|reload|status|connections", 'start')
->addOption('mode', 'm', Option::VALUE_OPTIONAL, 'Run the workerman server in daemon mode.')
->setDescription('the workerman command');
}
protected function execute(Input $input, Output $output)
{
// 指令输出
$output->writeln('convert start');
$action = $input->getArgument('action');
$mode = $input->getOption('mode');
// 重新构造命令行参数,以便兼容workerman的命令
global $argv;
$argv = [];
array_unshift($argv, 'think', $action);
if ($mode == 'd') {
$argv[] = '-d';
} else if ($mode == 'g') {
$argv[] = '-g';
}
// 在这里放心的实例化worker,
// 就像参照workerman文档写一样,
// 无非在workerman的文档里,代码是新建纯php文件,但在这里,写到了一个方法里.
$worker_1 = new Worker();
$worker_2 = new Worker();
Worker::runAll();
}

3:运行的时候,使用如下命令:

//临时运行
php think hello start
//后台运行
php think hello start --mode d


推荐阅读
  • 精选在线API编辑工具推荐
    本文将介绍几款优秀的在线API编辑工具,包括它们的功能特点和使用方法,帮助开发者提高工作效率。 ... [详细]
  • 本文将详细介绍如何注册码云账号、配置SSH公钥、安装必要的开发工具,并逐步讲解如何下载、编译 HarmonyOS 2.0 源码。通过本文,您将能够顺利完成 HarmonyOS 2.0 的环境搭建和源码编译。 ... [详细]
  • 解决问题:1、批量读取点云las数据2、点云数据读与写出3、csf滤波分类参考:https:github.comsuyunzzzCSF论文题目ÿ ... [详细]
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • 本文详细介绍了 InfluxDB、collectd 和 Grafana 的安装与配置流程。首先,按照启动顺序依次安装并配置 InfluxDB、collectd 和 Grafana。InfluxDB 作为时序数据库,用于存储时间序列数据;collectd 负责数据的采集与传输;Grafana 则用于数据的可视化展示。文中提供了 collectd 的官方文档链接,便于用户参考和进一步了解其配置选项。通过本指南,读者可以轻松搭建一个高效的数据监控系统。 ... [详细]
  • 在处理大规模数据数组时,优化分页组件对于提高页面加载速度和用户体验至关重要。本文探讨了如何通过高效的分页策略,减少数据渲染的负担,提升应用性能。具体方法包括懒加载、虚拟滚动和数据预取等技术,这些技术能够显著降低内存占用和提升响应速度。通过实际案例分析,展示了这些优化措施的有效性和可行性。 ... [详细]
  • 在ElasticStack日志监控系统中,Logstash编码插件自5.0版本起进行了重大改进。插件被独立拆分为gem包,每个插件可以单独进行更新和维护,无需依赖Logstash的整体升级。这不仅提高了系统的灵活性和可维护性,还简化了插件的管理和部署过程。本文将详细介绍这些编码插件的功能、配置方法,并通过实际生产环境中的应用案例,展示其在日志处理和监控中的高效性和可靠性。 ... [详细]
  • 在本篇学习指南中,我们将探讨 Spring Cloud 2020 版本中的技术选型和版本选择策略。具体来说,我们将详细介绍如何在项目中选用 Spring Boot 和 Spring Cloud 的最佳组合。本文以 Spring Boot 2.2.2 为例,结合实际应用场景,提供详细的配置和使用建议,帮助开发者更好地理解和应用这些框架。此外,我们还将讨论不同版本之间的兼容性和升级路径,确保项目能够平稳过渡到最新版本。 ... [详细]
  • 优化后的标题:深入探讨网关安全:将微服务升级为OAuth2资源服务器的最佳实践
    本文深入探讨了如何将微服务升级为OAuth2资源服务器,以订单服务为例,详细介绍了在POM文件中添加 `spring-cloud-starter-oauth2` 依赖,并配置Spring Security以实现对微服务的保护。通过这一过程,不仅增强了系统的安全性,还提高了资源访问的可控性和灵活性。文章还讨论了最佳实践,包括如何配置OAuth2客户端和资源服务器,以及如何处理常见的安全问题和错误。 ... [详细]
  • OSChina 周末闲谈 —— 程序员的浪漫情话
    在OSChina的周末闲谈栏目中,探讨了程序员特有的浪漫情话。本文不仅分享了一些程序员如何用代码表达爱意的有趣例子,还推荐了一首适合程序员聆听的歌曲——李克勤的《啜泣》。对于喜欢在编程之余享受音乐的朋友们,不妨点击链接试听一下。 ... [详细]
  • 在PHP中实现腾讯云接口签名,以完成人脸核身功能的对接与签名配置时,需要注意将文档中的POST请求改为GET请求。具体步骤包括:使用你的`secretKey`生成签名字符串`$srcStr`,格式为`GET faceid.tencentcloudapi.com?`,确保参数正确拼接,避免因请求方法错误导致的签名问题。此外,还需关注API的其他参数要求,确保请求的完整性和安全性。 ... [详细]
  • 在 Ubuntu 22.04 LTS 系统中安装 HPLIP 的详细步骤与注意事项
    HPLIP 是 HP 官方提供的软件套件,旨在支持多种 HP 打印机型号,如 Deskjet、Officejet、Photosmart、PSC、Business Inkjet 和 LaserJet 等。本文详细介绍了在 Ubuntu 22.04 LTS 系统中安装 HPLIP 的步骤,并提供了重要的注意事项,确保用户能够顺利配置和使用 HP 打印设备。 ... [详细]
  • 技术日志:使用 Ruby 爬虫抓取拉勾网职位数据并生成词云分析报告
    技术日志:使用 Ruby 爬虫抓取拉勾网职位数据并生成词云分析报告 ... [详细]
  • 汽车电子架构与CAN网络基础解析——鉴源实验室专业解读 ... [详细]
  • Docker镜像加载优化:开发者的高效实践指南
    Docker镜像加载优化:开发者的高效实践指南 ... [详细]
author-avatar
风过无痕啦啦
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有