Ошибка крона - перемещение файлов на Яндекс Диск

Аватара пользователя
alcompstudio
Спонсор
Спонсор
Сообщения: 1773
Зарегистрирован: 03 янв 2016, 20:42
Имя: Александр
Откуда: Мир

Ошибка крона - перемещение файлов на Яндекс Диск

Сообщение alcompstudio »

Добрый день!

При выполнении задачи крона по перемещению файлов в дисковое хранилище Яндекса (срабатывание скрипта /file_storage.php)

пришло на почту сообщение от хостера

Код: Выделить всё

PHP Warning:  filesize(): stat failed for uploads/attachments/Ð/1588774721_В_текст_1.psd in /home/----/----/public_html/crm/plugins/ext/file_storage_modules/yandex_disk/yandex_disk.php on line 82
PHP Warning:  unlink(uploads/attachments/Ð/1588774721_В_текст_1.psd): No such file or directory in /home/----/-----/public_html/crm/plugins/ext/file_storage_modules/yandex_disk/yandex_disk.php on line 89
Что это может быть? Ограничение по размеру загружаемого файла, или что? Где копать? )
Аватара пользователя
support
Техническая поддержка
Сообщения: 9348
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Ошибка крона - перемещение файлов на Яндекс Диск

Сообщение support »

А файл В_текст_1.psd переместился на ЯД?
Аватара пользователя
alcompstudio
Спонсор
Спонсор
Сообщения: 1773
Зарегистрирован: 03 янв 2016, 20:42
Имя: Александр
Откуда: Мир

Re: Ошибка крона - перемещение файлов на Яндекс Диск

Сообщение alcompstudio »

Тут вот проблема в том, что у меня таких файлов с одним и тем же именем множество... они просто подкрепляются к разным записям, а в яндекс попадают с доп. "идентификатором", что в итоге получается "1588774721_В_текст_1.psd".
1588774721 - я так понимаю, как-то связано со временем... именного такого файла не нашел на Яндексе, но я просмотрел, вроде все добавилось, что нужно. Более ошибок вроде не появлялось такого рода, при этом дальнейшие загрузки проводились. Может перезалилось с другим "идентификатором". Я понаблюдаю еще, если такая ошибка повторится, сообщу, пока проблему можно считать закрытой.
Аватара пользователя
alcompstudio
Спонсор
Спонсор
Сообщения: 1773
Зарегистрирован: 03 янв 2016, 20:42
Имя: Александр
Откуда: Мир

Re: Ошибка крона - перемещение файлов на Яндекс Диск

Сообщение alcompstudio »

Снова ошибка такая появилась в задаче крона... Хотя я просмотрел, вроде все картинки залились на Яндекс Диск. Больше у меня нет частых задач по крону. Всего 6 задач, но там 5 из них только раз в день выполняются, и то с интервалом 15 минут между задачами, а по переносу на Яндекс.Диск - 1 раз в час. Вроде ж не пересекаются...
Аватара пользователя
alcompstudio
Спонсор
Спонсор
Сообщения: 1773
Зарегистрирован: 03 янв 2016, 20:42
Имя: Александр
Откуда: Мир

Re: Ошибка крона - перемещение файлов на Яндекс Диск

Сообщение alcompstudio »

Заметил такую особенность:

http://prntscr.com/scmoz9 - я так понимаю, файлы должны перемещаться из папки (и внутренних подпапок) /uploads на Яндекс диск? Вот за 4 число папка пустая - получается все файлы переместились. А начиная с 5 мая - тут как раз такая проблема появилась с кроном, и на сервере папки уже с файлами

http://prntscr.com/scmr36 - т.е. получается не перенеслись?

Хотя на яндекс диске есть файлы с СРМ http://prntscr.com/scmruy и за сегодняшнее число тоже.

Может быть связано с размером (объемом) переносимых файлов за 1 раз? Т.к. я поставил крон 1 раз в час - то накопленные файлы (а общий объем может быть большим, т.к. файлов за час может быть много) - не все переносятся, или как-то частично? Может это быть ошибкой?

Поставлю каждые 5 минут перенос файлов, хотя я не уверен, что в этом проблема...
Аватара пользователя
alcompstudio
Спонсор
Спонсор
Сообщения: 1773
Зарегистрирован: 03 янв 2016, 20:42
Имя: Александр
Откуда: Мир

Re: Ошибка крона - перемещение файлов на Яндекс Диск

Сообщение alcompstudio »

В общем, даже не знаю, в чем проблема... Техподдержка сообщила, что нужно смотреть на скрипт, они тут ни при чем. Ошибка теперь каждые 5 минут приходит, но файлы вроде заливаются. И я не пойму, что за файлы. У меня вот уже часа 3 никто не закидывает ничего в СРМ, а система подгружает файлы на Я.Диск. Может переносятся как-то, что ранее не перенеслись?
Аватара пользователя
support
Техническая поддержка
Сообщения: 9348
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Ошибка крона - перемещение файлов на Яндекс Диск

Сообщение support »

Когда файл добавляется, он помещается в очередь.
Затем он через крон добавляется на ЯД. За одно выполнение обрабатывается одни файл из очереди.
Вы меняли хостинг, возможно в очереди остались какие то старые файлы.
Посмотрите в таблицу app_ext_file_storage_queue
Ошибка "No such file or directory in" говорит что такого файла нет на диске.
Аватара пользователя
alcompstudio
Спонсор
Спонсор
Сообщения: 1773
Зарегистрирован: 03 янв 2016, 20:42
Имя: Александр
Откуда: Мир

Re: Ошибка крона - перемещение файлов на Яндекс Диск

Сообщение alcompstudio »

Да, вы правы, файлы потихоньку переносятся. С предыдущего хостинга, по идее не должно подтягивать на момент переноса файлы уже все находились на Яндекс.Диске, новых не добавлялось, проблемы начались уже после какой-то работы крона. Как только я поставил/настроил крон (сразу после переноса на другой хост), он работал нормально, файлы переносились нормально, ошибок не было. Только вот недавно (с 5 мая) такая проблема возникла, как только я поставил задачу на выполнение 1 раз в час (сейчас каждые 5 минут).

Буду наблюдать за перемещением, там еще много файлов, возможно как все переместятся ошибка исчезнет.
uvex
Спонсор
Спонсор
Сообщения: 152
Зарегистрирован: 10 окт 2016, 13:42
Имя: Алексей
Откуда: Санкт-Петербург
Организация: TASKKIT.PRO
Контактная информация:

Re: Ошибка крона - перемещение файлов на Яндекс Диск

Сообщение uvex »

У меня схожие проблемы - только с ДропБокс

Код: Выделить всё

PHP Warning:  file_get_contents(uploads/attachments/d/1589371915_depend---super-8_12920.jfif): failed to open stream: No such file or directory in /home/taskkit/taskkit.pro/plugins/ext/file_storage_modules/dropbox/lib/sdk/Dropbox/Files.php on line 616
PHP Warning:  unlink(uploads/attachments/d/1589371915_r-8_12920.jfif): No such file or directory in /home/taskkit/taskkit.pro/plugins/ext/file_storage_modules/dropbox/dropbox.php on line 69
Когда началась это свистопляска с массовым приходом ошибок крона - начал отслеживать причину.
В итоге выяснил (и подтвердил тестом вручную), что такие ошибки приходят:

1. Когда пользователь загружает вложение, понимает, что ошибся с файлом, удаляет, грузит новый файл.
как итог: файл встал на загрузку в очередь, но к моменту срабатывания CRON его уже нет - приходит отбивка на почту.

2. Пользователь загружает вложение, сохраняет запись, понимает, что ошибся с файлом, удаляет, грузит новый файл.
как итог: файл встал на загрузку в очередь, но к моменту срабатывания CRON его уже нет - приходит отбивка на почту.

3. При копировании записи с уже подгруженными вложениями.

Суть проблемы в том, что, при удалении загруженного файла до момента срабатывания CRON - очередь на загрузку не удаляется.
Последний раз редактировалось uvex 14 май 2020, 13:21, всего редактировалось 1 раз.
Аватара пользователя
alcompstudio
Спонсор
Спонсор
Сообщения: 1773
Зарегистрирован: 03 янв 2016, 20:42
Имя: Александр
Откуда: Мир

Re: Ошибка крона - перемещение файлов на Яндекс Диск

Сообщение alcompstudio »

1. Когда пользователь загружает вложение, понимает, что ошибся с файлом, удаляет, грузит новый файл.
как итог: файл встал на загрузку в очередь, но к моменту срабатывания CRON его уже нет - приходит отбивка на почту.

2. Пользователь загружает вложение, сохраняет запись, понимает, что ошибся с файлом, удаляет, грузит новый файл.
как итог: файл встал на загрузку в очередь, но к моменту срабатывания CRON его уже нет - приходит отбивка на почту.
По этим пунктам, думаю, вы правы, у меня также приходится удалять и "заменять" файлы перед загрузкой на Я.Диск. И скорее всего система ищет удаленный файл, чтобы загрузить его на диск.

Вопрос к разработчику: Сергей, можно ли как-то модернизировать этот момент, чтобы была может какая-то проверка на наличие файла или при удалении, чтобы удалялась ссылка на него в очереди?
Ответить