如何 运行 laravel 队列作业中的 Symfony Process 函数

How to run Symfony Process function inside queue jobs on laravel

现在我正在做一些使用 laravel 框架的项目。我可以 运行 队列作业中的 Symfony Process 函数吗?

use Symfony\Component\Process\Process;
use Symfony\Component\Process\Exception\ProcessFailedException;

现在我想运行一些推荐使用 Symfony Process 功能

process = new Process("facebook-scraper --filename public/data/nintendo.csv --pages 5 nintendo");

如果在队列之外。这段代码可以运行成功。但是当我想让它 运行 在队列作业中时。不能。

我如何能够 运行 作业队列中的 symfony Process 函数 laravel。

我认为问题出在路径上。将 --filename 选项值替换为绝对路径(来自/):

$path = public_path('data/nintendo.csv');

$process = new Process("facebook-scraper --filename {$path} --pages 5 nintendo");

...

...

并尝试使用可执行文件的完整路径 (facebook-scraper)。 您可以使用 which 找到它。

示例:

$ which facebook-scraper       
/usr/bin/facebook-scraper