【问题标题】:Running an artisan command forever with laravel forge?使用 laravel forge 永远运行工匠命令?
【发布时间】:2014-10-21 09:42:40
【问题描述】:

有人可以建议我如何让我的自定义工匠命令与守护进程一起永远运行吗?

我看到了许多带有队列的教程,但它并不完全适合。我正在尝试使用 pubnub 的 php 库来完成“订阅”,这似乎是最好的方法,除非我错过了什么?

提前致谢!

【问题讨论】:

  • 您是否看到订阅在 5 分钟没有消息或收到消息后返回(并退出)?如果是这样,您只需从订阅中返回 true 以使其保持打开状态。让我知道这是否是问题所在,我可以提供更多详细信息作为正式答案。

标签: php laravel supervisord pubnub laravel-forge


【解决方案1】:

如果您从命令行运行 artisan 命令 - 它已经可以无限期/永远运行。你不需要做任何事情。

我现在有一个应用程序已经连续运行了一个 artisan 命令 97 天。

然后你需要确保它没有因为某种原因崩溃,比如Supervisor,或者像Eyewitness.io这样的网络监控服务

【讨论】:

  • 您好,有两个问题... 1. 如果我在运行“run”命令后退出 CLI,它会继续运行吗? 2. 如果服务器崩溃...我假设它必须重新手动启动?
  • 1.你不能退出 CLI - 你让它永远运行。您在该用户帐户上保持该屏幕/进程处于打开状态
  • 2.如果服务器崩溃 - 您需要重新启动。您可以让 Windows/Ubuntu 在启动时自动运行 PHP 命令,因此如果服务器重新启动,该过程会自动重新启动。
【解决方案2】:

这将帮助您永远运行 artisan 命令

nohup php artisan yourcommand:abc > mylog.log 2>&1 & echo $! >> save_pid.txt

当你想杀死这个进程时,从 save_pid.txt 文件中获取 pid

kill pid

【讨论】:

    猜你喜欢
    • 2014-08-30
    • 2019-05-20
    • 2022-08-10
    • 2014-03-26
    • 2018-11-30
    • 2016-07-03
    • 2016-09-07
    • 2014-09-07
    • 2013-09-25
    相关资源
    最近更新 更多