【问题标题】:Laravel run artisan queue:work from inside php in backgroundLaravel 运行工匠队列:在后台从 php 内部工作
【发布时间】:2018-04-07 09:51:39
【问题描述】:

我们有 laravel 5.6 和很多队列。

在生产中,我有主管来处理这些队列。

在本地主机上,我使用“同步”选项同步/直接处理所有队列。

我想知道是否有可能在 localhost 上有不同的行为:

我想调度作业,然后直接通过 php exec 运行以下命令:

exec('php ../artisan queue:work --sleep=3 --tries=1 --memory=768 --timeout=3600 --env=local --once &');

这应该在后台运行一次队列工作者。

但是什么也没发生。工匠甚至在这种情况下工作吗?

【问题讨论】:

  • 可能,将相对路径更改为绝对路径。但是你会有无穷无尽的工人堆栈在后台,这样做的目的是什么?
  • 目的是直接在 localhost 上执行,但在后台执行。你确定这行得通吗? exec('php '.base_path().'/artisan queue:work --sleep=3 --tries=1 --memory=768 --timeout=3600 --env=local --once &');不工作。

标签: php laravel


【解决方案1】:

让它在windows上工作

popen( 'start C:\php\php.exe -c "C:\php\php.ini" '.base_path().'/artisan queue:work --env=local --once', 'r' );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-04
    • 2016-04-03
    • 2014-11-10
    • 2019-06-03
    • 1970-01-01
    • 1970-01-01
    • 2018-07-25
    相关资源
    最近更新 更多