【问题标题】:Stop a Laravel scheduled command once started?一旦启动就停止 Laravel 预定命令?
【发布时间】:2015-11-02 09:28:04
【问题描述】:

我已经为一个 laravel 5.1 项目设置了一个预定的命令。

它有效,命令已启动,但我很愚蠢地没有考虑如何停止它。

通常您不想停止它,但该命令会将近 50 万行插入到数据库表中,而我只是真的想确保我可以在不登录服务器的情况下启动它。

我显然需要在某个时候运行它,但不是现在,那么有没有办法在流程中停止命令?

【问题讨论】:

  • 从 Artisan.php 中删除其条目。
  • 从终端杀死进程
  • @MubashirAbbas 在我的情况下这并不是一个真正的选择,因为该命令已经从 App/Console/Commands/Kernal.php 文件作为计划作业运行。 artisan.php 文件中的所有内容都是对内核文件的引用。由于工作已经开始,我不确定它是否会做任何事情。
  • @GauravDave 我该怎么做?
  • pgrep 'pocess_name' 然后你会得到进程 id,然后执行 kill -9 process_id 或运行 htop 命令,你会得到进程 id 然后杀掉它。

标签: php laravel-5 scheduled-tasks


【解决方案1】:

在我发现我的计划代码中有错误并且它将继续运行很长时间后,这对我有用。 SSH 进入服务器。

ps -fe | grep artisan

然后杀死PID(PID是进程的编号)。杀死前两个结果对我有用。

注意:如果您使用 withoutOverlapping(),除非您将 ->name() 更改为唯一的名称,否则该过程将不会再次启动。

【讨论】:

    猜你喜欢
    • 2020-10-20
    • 1970-01-01
    • 1970-01-01
    • 2013-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-26
    相关资源
    最近更新 更多