zoukankan      html  css  js  c++  java
  • 利用Artisan自定义命令

    背景:
    我在学习RabbitMq的时候,根据某个教程,分别创建了一个Sending发送接口和一个Receiving接收接口,但是因为我是在laravel中直接新建的控制器中写的发送和接收接口,所以在需要运行Receive接收接口时,就遇到了一个问题,那就是我在命令行中不能直接运行Receive接收接口进行监听;
    大致是这样的,教程上说需要运行相关文件;

    而我写的结构是这样的:

    所以现在的需求就是我想在命令行中运行receive接口进行监听的动作,根据这一需求我在网上查了一下,发现laravel中的artisan是可以让我们自己创建命令的,在Laravel文档中有更加详细的使用说明,我这里就只是解决我上面的问题进行记录,方便以后查阅。

    具体:
    首先生成了一个命令文件,该条命令文件会在app/Console/Commands路径下生成一个RmqCommand.php文件

    php artisan make:command RmqCommand
    

    该方法中有两个属性signature 和 description,和一个方法handle:

    signature: 命令名称及签名(该命令中还可以带参数)
    description: 命令描述
    handle: 执行命令时会调用该方法
    

    下面是我RmqCommand.php文件中的部分代码,我是直接在handle方法中调用了receive方法;

    ···
    protected $signature = 'rmq:receive';
    ···
    public function handle()
    {
        $obj = new RabbitMqController();
        $obj->receive();
    }
    ···
    

    随后使用刚刚生成的命令查看是否生效:

    php artisan rmq:receive
    

    看来是成功了,随后send方法中发送一条信息,看一下是否有监听:

    这里看到是可以监听到的,没什么问题,至此算是解决了自己的一个小需求。

    这里自己定义命令貌似在业务中会经常用到,这里也算是自己小小的记录一下

    相关链接:
    https://learnku.com/articles/9115/rabbitmq-introduction-hello-world
    https://learnku.com/docs/laravel/7.x/artisan/7480#writing-commands

  • 相关阅读:
    三角函数
    第十七次作业
    第十六次作业
    第15次作业
    第13次java作业
    第十二次java作业
    第十一次java作业
    第十次java作业
    第九次java
    第八次java作业
  • 原文地址:https://www.cnblogs.com/ferowl/p/12876134.html
Copyright © 2011-2022 走看看