Laravel 5.5 - 链接的作业没有按顺序处理

时间:2017-09-28 14:20:40

标签: laravel queue laravel-5.5

我对Laravel和整个Queue / Worker / Job架构都很陌生。

我最终的目标是让服务器与Laravel一起运行,该服务器从特定Dropbox帐户的PSD文件创建JPEG图像。 (PSD文件大小最多可达500MB)

我现在的问题是:链式作业不按顺序处理。目前我在我的本地开发机器上有一个数据库队列驱动程序。 (我需要另一个驱动程序吗?例如Redis?)

我使用artisan命令“artisan queue:work”启动队列。 然后,队列开始处理所有下载作业,然后全部转换作业,然后全部删除作业。

我需要做的就是遵循工作链!

  1. 下载一个资源。
  2. 将其转换为其他格式。
  3. 删除临时下载的资源。
  4. 我在查询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

0 个答案:

没有答案