通过CLI启动地平线之后,是否可以调用自定义命令?

时间:2019-04-22 17:05:21

标签: laravel command artisan horizon

在尝试启动地平线后,我试图调用自定义命令以从CLI调度作业。

journal:add是一个自定义命令,用于将日志详细信息添加到mysql数据库。

        $this->line('<fg=red>Migrate and refreshing databases</>');
          sleep(1);
        $this->call('migrate:refresh');
        $this->line('<fg=red>Flushing the redis queue</>');
          sleep(1);
        exec('redis-cli flushall');
          sleep(1);
        $this->line('<fg=red>Starting Horizon</>');
        $this->call('horizon');
          sleep(1);
        $this->line('<fg=red>Adding test journal</>');
        $this->call('journal:add', ['issn'=>'1098-2418']);

预期结果是在地平线开始后将日记帐作业分派到队列中。

当前,代码启动Horizo​​n,但此后不执行任何操作。

1 个答案:

答案 0 :(得分:0)

Laravel Horizon不会执行或退出,它会继续运行以等待新作业。如果您想实现自己想要的。创建两个命令,第一个执行Horizon,第二个作业调度该作业。

您在做什么,似乎是一种错误的方法,在我不得不将其他命令中的命令组合在一起的情况下,从来没有发生过。按所需顺序执行给定命令怎么办?