Главная Настройка Mobile Контакты NSFW Каталог Пожертвования Купить пасскод Pics Adult Pics API Архив Реквест доски Каталог стикеров Реклама
Доски


[Ответить в тред] Ответить в тред

Check this out!


[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 12 | 1 | 7
Назад Вниз Каталог Обновить

SUP кодеры есть задача, и я туп настолько что даже Аноним 21/09/17 Чтв 10:11:29  1064508  
images.jpg (4Кб, 180x212)
DeepinScreensho[...].png (62Кб, 1007x794)
SUP кодеры

есть задача, и я туп настолько что даже не понимаю в какую сторону копать

нужно чистить файлы в папке имена которых отсутствуют в таблеце

короче дано папка с изображениями
таблица с именами

есть код во вложении

короче код работает когда я делаю тестовый массив с 20-50 именами, и тестовую папку с файлами

НО пиздец подкрался когда я начал работать с реальными данными
беда в том что в базе 15000 имен а в папке 10000 файлов. Как вы понимаете меня посылает нахуй хостинг потому что ресурсов я трачу миллионы тонн.

я думаю надо копать в сторону pcntl_fork(). Жду советов а то уменя мозг уже болит. я в php не очень шарю, мой профиль это мордостроение.
Аноним 21/09/17 Чтв 10:18:04  1064510
бамп
Аноним 21/09/17 Чтв 10:50:57  1064523
bump
Аноним 21/09/17 Чтв 12:14:30  1064548
if (true){
бамп();
}
Аноним 21/09/17 Чтв 12:52:51  1064559
>>1064508 (OP)
Пошел нахуй, чурка неграмотная
Аноним 28/09/17 Чтв 23:21:28  1067872
>>1064508 (OP)
Я тоже не силен в пхп, каккая функция сколько памяти жрет подсказать не могу. А почему бы тебе не попробовать разбить это на подзадачи, скажем js-скрипт, который шлет аякс запросы пхпшное апи. Первым запросом получаем кол-во файлов, и потом через какие то промежутки шлем запросы, обработать первые 100 файлов, потом вторые 100, и тд.
Аноним 29/09/17 Птн 00:17:07  1067892
>>1067872
тогда можно не js а на крон повесить всё это дело. пусть раз в минуту хуярит по 100 файлов.

Другое дело что у опа какой-то странный таск с файлами, который решается похоже что k^n перебором. Типа надо заселектить 1 из k файлов, проверить есть ли он в большущей таблице из n элементов, и если нет то удалить, потом го некст и так далее. То есть ты перебираешь все файлы, и для каждого перебираешь всю базу.

Нельзя этот таск повернуть так, что берешь название файла в таблице. Смотришь в папку1, если он там есть, то копируешь его в папку2. Получается линейный перебор и на выходе в папке2 у тебя будет только те файлы, которые есть в таблице. При этом цикл делается только n раз.
Аноним 29/09/17 Птн 13:42:02  1068043
>>1067892
>тогда можно не js а на крон повесить всё это дело
А как скрипт запускаемый через крон отличит обработанный файл от не обработанного?
Аноним 29/09/17 Птн 14:38:48  1068063
>>1068043
>можно не js а на крон повесить всё это дело
>А как скри
Хороший вопрос, ну можно все файлы занести 1 раз в табличку, в которой сделать столбец с пометкой, и уже работать чисто с базой.

Берем первые 100 файлов из этой таблицы, смотрим есть ли они во второй, делаем что надо и помечаем их как уже отработанные. Ну и в селект включаем условие что селектим те, которые не помечены как отработанные.
Аноним 29/09/17 Птн 19:15:32  1068203
>>1064508 (OP)
Ебаш таблицу с именами файлов, в них колонку ishandled.

Дальше генерь команду, в винде типо del file_name, в питухос такая же дрлжна быть. Дальше из пхппараши ебаш команду в операционку. В шарпе есть чето типо "exec команд".

Команда отработает, генерь следующую, имя файла отмечай как удаленное. Если файл не найдет на удаление - ну и хуй с ним.

Сложность - o(n) где н - 15к.
"Вы великолены"
Аноним 29/09/17 Птн 19:17:55  1068208

Ну всмысле не удаляй, а переноси в папку zbs_files. Потом что останется в папке zashkvar_files - удаляй.
Дальше извлечешь все из папки zbs_files в зашквар_фаилз

>>1068203-кун
Аноним 29/09/17 Птн 19:20:34  1068210
>>1067892
> который решается похоже что k^n перебором
Уебок
Аноним 29/09/17 Птн 19:23:00  1068214
>>1067892
k*n, а не k^n.

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 12 | 1 | 7
Назад Вверх Каталог Обновить

Топ тредов
Избранное