Страница 1 из 2
Ошибка крона - перемещение файлов на Яндекс Диск
Добавлено: 06 май 2020, 21:34
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
Что это может быть? Ограничение по размеру загружаемого файла, или что? Где копать? )
Re: Ошибка крона - перемещение файлов на Яндекс Диск
Добавлено: 07 май 2020, 07:37
support
А файл В_текст_1.psd переместился на ЯД?
Re: Ошибка крона - перемещение файлов на Яндекс Диск
Добавлено: 07 май 2020, 10:50
alcompstudio
Тут вот проблема в том, что у меня таких файлов с одним и тем же именем множество... они просто подкрепляются к разным записям, а в яндекс попадают с доп. "идентификатором", что в итоге получается "1588774721_В_текст_1.psd".
1588774721 - я так понимаю, как-то связано со временем... именного такого файла не нашел на Яндексе, но я просмотрел, вроде все добавилось, что нужно. Более ошибок вроде не появлялось такого рода, при этом дальнейшие загрузки проводились. Может перезалилось с другим "идентификатором". Я понаблюдаю еще, если такая ошибка повторится, сообщу, пока проблему можно считать закрытой.
Re: Ошибка крона - перемещение файлов на Яндекс Диск
Добавлено: 07 май 2020, 16:46
alcompstudio
Снова ошибка такая появилась в задаче крона... Хотя я просмотрел, вроде все картинки залились на Яндекс Диск. Больше у меня нет частых задач по крону. Всего 6 задач, но там 5 из них только раз в день выполняются, и то с интервалом 15 минут между задачами, а по переносу на Яндекс.Диск - 1 раз в час. Вроде ж не пересекаются...
Re: Ошибка крона - перемещение файлов на Яндекс Диск
Добавлено: 07 май 2020, 17:35
alcompstudio
Заметил такую особенность:
http://prntscr.com/scmoz9 - я так понимаю, файлы должны перемещаться из папки (и внутренних подпапок) /uploads на Яндекс диск? Вот за 4 число папка пустая - получается все файлы переместились. А начиная с 5 мая - тут как раз такая проблема появилась с кроном, и на сервере папки уже с файлами
http://prntscr.com/scmr36 - т.е. получается не перенеслись?
Хотя на яндекс диске есть файлы с СРМ
http://prntscr.com/scmruy и за сегодняшнее число тоже.
Может быть связано с размером (объемом) переносимых файлов за 1 раз? Т.к. я поставил крон 1 раз в час - то накопленные файлы (а общий объем может быть большим, т.к. файлов за час может быть много) - не все переносятся, или как-то частично? Может это быть ошибкой?
Поставлю каждые 5 минут перенос файлов, хотя я не уверен, что в этом проблема...
Re: Ошибка крона - перемещение файлов на Яндекс Диск
Добавлено: 07 май 2020, 21:08
alcompstudio
В общем, даже не знаю, в чем проблема... Техподдержка сообщила, что нужно смотреть на скрипт, они тут ни при чем. Ошибка теперь каждые 5 минут приходит, но файлы вроде заливаются. И я не пойму, что за файлы. У меня вот уже часа 3 никто не закидывает ничего в СРМ, а система подгружает файлы на Я.Диск. Может переносятся как-то, что ранее не перенеслись?
Re: Ошибка крона - перемещение файлов на Яндекс Диск
Добавлено: 07 май 2020, 23:25
support
Когда файл добавляется, он помещается в очередь.
Затем он через крон добавляется на ЯД. За одно выполнение обрабатывается одни файл из очереди.
Вы меняли хостинг, возможно в очереди остались какие то старые файлы.
Посмотрите в таблицу app_ext_file_storage_queue
Ошибка "No such file or directory in" говорит что такого файла нет на диске.
Re: Ошибка крона - перемещение файлов на Яндекс Диск
Добавлено: 07 май 2020, 23:44
alcompstudio
Да, вы правы, файлы потихоньку переносятся. С предыдущего хостинга, по идее не должно подтягивать на момент переноса файлы уже все находились на Яндекс.Диске, новых не добавлялось, проблемы начались уже после какой-то работы крона. Как только я поставил/настроил крон (сразу после переноса на другой хост), он работал нормально, файлы переносились нормально, ошибок не было. Только вот недавно (с 5 мая) такая проблема возникла, как только я поставил задачу на выполнение 1 раз в час (сейчас каждые 5 минут).
Буду наблюдать за перемещением, там еще много файлов, возможно как все переместятся ошибка исчезнет.
Re: Ошибка крона - перемещение файлов на Яндекс Диск
Добавлено: 14 май 2020, 12:14
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 -
очередь на загрузку не удаляется.
Re: Ошибка крона - перемещение файлов на Яндекс Диск
Добавлено: 14 май 2020, 13:14
alcompstudio
1. Когда пользователь загружает вложение, понимает, что ошибся с файлом, удаляет, грузит новый файл.
как итог: файл встал на загрузку в очередь, но к моменту срабатывания CRON его уже нет - приходит отбивка на почту.
2. Пользователь загружает вложение, сохраняет запись, понимает, что ошибся с файлом, удаляет, грузит новый файл.
как итог: файл встал на загрузку в очередь, но к моменту срабатывания CRON его уже нет - приходит отбивка на почту.
По этим пунктам, думаю, вы правы, у меня также приходится удалять и "заменять" файлы перед загрузкой на Я.Диск. И скорее всего система ищет удаленный файл, чтобы загрузить его на диск.
Вопрос к разработчику: Сергей, можно ли как-то модернизировать этот момент, чтобы была может какая-то проверка на наличие файла или при удалении, чтобы удалялась ссылка на него в очереди?