Добрый день. Наткнулся на проблему с невозможностью загрузить файл на сервер в очереди. Юзаю 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 помечает задание как выполненное.