我对Laravel和整个Queue / Worker / Job架构都很陌生。
我最终的目标是让服务器与Laravel一起运行,该服务器从特定Dropbox帐户的PSD文件创建JPEG图像。 (PSD文件大小最多可达500MB)
我现在的问题是:链式作业不按顺序处理。目前我在我的本地开发机器上有一个数据库队列驱动程序。 (我需要另一个驱动程序吗?例如Redis?)
我使用artisan命令“artisan queue:work”启动队列。 然后,队列开始处理所有下载作业,然后全部转换作业,然后全部删除作业。
我需要做的就是遵循工作链!
我在查询Dropbox API的命令中的代码:
// After Dropbox API Call, process the response array
ProcessDropboxMetadata::dispatch($metadata);
我在ProcessDropboxMetadata->处理方法
中的代码// Inside ProcessDropboxMetadata Job, create the job Sequence:
// Download, Convert, Delete
DownloadDropboxResource::withChain([
new ConvertDropboxResource($dbxResource, 'thumb'),
new ConvertDropboxResource($dbxResource, 'small'),
new ConvertDropboxResource($dbxResource, 'medium'),
new ConvertDropboxResource($dbxResource, 'large'),
new ConvertDropboxResource($dbxResource, 'huge'),
new DeleteTempDropboxResource($dbxResource)
])->dispatch($dbxResource);
在Laravel 5.4中有一个“--sync”标志。在5.5中它被删除了?
我目前的设置:
Laravel Framework 5.5.12
PHP 7.1.10
Windows 10 x64