Laravel工匠队列:将stderr / stdout工作重定向到文件

时间:2017-03-25 10:45:30

标签: bash laravel-5 stdout stderr artisan

我尝试重定向$http.jsonp(url).then(function(data) { console.log(data); $scope.feed = { title: 'DailyJS', items: data.query.results.entry }; }); stdout命令stderr,而它正处于后台。 为此,我创建了这个脚本:

## script name: queue_work.sh

    #!/bin/bash

    ## Redirect Files

    STDOUTFILE="${RootDir}/storage/logs/queue_output"
    STDERRFILE="${RootDir}/storage/logs/queue_error"

    ## Run php artisan

    php ${ARTISANCMD} queue:work --queue=high --sleep=3 --tries=3 1>"${STDOUTFILE}_high.log" 2>"${STDERRFILE}_high.log" &
    php ${ARTISANCMD} queue:work --queue=low  --sleep=3 --tries=3 1>"${STDOUTFILE}_low.log" 2>"${STDERRFILE}_low.log" &

当我跑步时

php artisan queue:work

这四个文件很好地创建到./queue_work.sh 中,当我处理storage/logs/时,队列运行良好(即处理命令)所有Queueablequeue_output*.log文件都保持为空

在我的简单脚本中有什么用?

由于

1 个答案:

答案 0 :(得分:1)

尝试运行

nohup php artisan queue:work

它将创建nohup.out文件,其中所有输出和错误将显示如下:

[2017-03-24 00:00:00] Processed: App\Jobs\SomeJob