php - 如何在 laravel 的队列作业中运行 Symfony Process 功能
问题描述
现在我正在做一些项目使用 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");
如果在队列之外。此代码可以成功运行。但是当我想让它在队列作业中运行时。它不能。
我如何能够在作业 laravel 的队列中运行 symfony Process 函数。
解决方案
我认为问题在于路径。将--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
推荐阅读
- azure-active-directory - 具有范围的 Azure AD 应用程序权限
- python - 在 DuplicateCallbackOutput 中使用 dash.testing 中的 import_app 结果
- annotations - 如何配置 PhpStorm 以自动完成对象的可用方法和属性
- javafx - JavaFX:在 .getCaretPosition() 所在的文本区域中选择单行文本
- sql - 如何使用 SQL ORACLE 解析列值
- python - 通过使用 Python 扩展数据框创建多行
- python - 在 python 中为 smtplib.SMTP 添加了更多参数
- jsonschema - Json Schema数组中第一个元素所需的不同属性?
- java - Rxjava如何创建线程并将文本返回给UI
- javascript - toLocaleString() 小数点后不显示 00