@Iossarian

В чем проблема загрузки файла в очереди?

Добрый день. Наткнулся на проблему с невозможностью загрузить файл на сервер в очереди. Юзаю yiisoft/yii2-queue с redis драйвером.
$this->video = hash('MD5', $this->video_file->baseName . floor($this->task_id / 1000)) . '.' . $this->video_file->extension;
$filepath = $this->getRelativeVideoPath() . $this->video;
Yii::$app->queue->push(new TaskVideoJob([
            'file' => $this->video_file,
            'path' => $filepath,
]));


class TaskVideoJob extends BaseObject implements JobInterface
{
    public $file;
    public $path;

    public function execute($queue)
    {
        $this->file->saveAs($this->path);
    }
}

Путь точно существует. Он создается методом getRelativeVideoPath(). Если сохранять тут же в месте вызова очереди, то файл без проблем сохраняется. Так же любые другие действия в очереди работают. Не работает именно сохранение файла. Queue/info помечает задание как выполненное.
  • Вопрос задан
  • 58 просмотров
Пригласить эксперта
Ответы на вопрос 1
vilinyh
@vilinyh
95% что UploadedFile "неправильно" сериализовался при пуше в очередь, и еще 5%, что воркер вообще на другом сервере.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы