Какой лучший способ асинхронной загрузки файлов в фоновом режиме с PHP?

В моем приложении пользователи будут загружать файлы (маленькие и большие). Я хотел бы сохранить файл в S3 или FTP или любой другой службе хранения.

Мой план состоит в том, чтобы загрузить файлы с клиента с помощью AJAX (с индикатором выполнения) на мой сервер PHP, а затем перенести их в фоновом режиме в целевое хранилище. И я хочу сделать последнюю часть асинхронно (в фоновом режиме). Мне также нужно выполнить некоторые задачи (например, обновление и очистка базы данных) после загрузки файлов с моего сервера в хранилище.

Мой предыдущий подход был использовать поЬир (что-то вроде: Как я могу использовать nohup для запуска процесса в качестве фонового процесса в Linux?) но у него есть некоторые недостатки, и я предпочитаю не использовать его.

Я использую Laravel, поэтому я думаю об очередях с beanstalkd. Я знаю, что очереди хороши для отправки электронных писем, обработки изображений и тому подобного, но я никогда не использовал их раньше, поэтому я не знаю, подходит ли это для загрузки фоновых файлов. Это хороший подход? Или, может быть, есть лучшие способы сделать это?

0

Решение

Вы можете попробовать Диспетчер. Посмотрите здесь:

https://github.com/Indatus/dispatcher

С веб-сайта: «Dispatcher — это инструмент планирования команд ремесленников Laravel, используемый для планирования команд ремесленников в вашем проекте, поэтому вам не нужно прикасаться к вашему crontab при развертывании».

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]