Pull to refresh

Comments 13

Единственный вопрос: как все это добро обновлять?
Скачиваем обновлённую раздачу, выкладываем обновлённые файлы, запускаем импорт.
И если поправить всё так, как советует Borro, то импорт пройдёт гораздо быстрее :)
Чтобы не вставляло 6 часов надо:
  • $model = Torrents::findOne(['forum_id' => $data[0], 'topic_id' => $data[2]]); убрать за цикл и сделать полный фетч. Причем лучше без AR, массив должен состоять из ключей forum_id + '_' + topic_id, и значений true, например
    $exists = [];
    while (($row = $reader->read()) {
        $exists[$row['forum_id '] . '_' . $row['topic_id']] = true;
    }
    

    или просто сделайте уникальный ключ на forum_id + topic_id, а в insert добавьте ключик IGNORE
    В основном цикле заменяете if($model !== null) continue; на if (isset($exists[$data[0] . '_' . $data[2]])) continue;
  • После этого выкидываем вставку через AR и делаем опять же через DAO, причем вне цикла делаете prepare, а в цикле просто байндите значения.
  • if(!isset($data[0]) || !isset($data[1]) || !isset($data[2]) || !isset($data[3]) || !isset($data[4]) || !isset($data[5]) || !isset($data[6]))
    

    нужно заменить на count($data) > 1, и проверять if (!array_key_exists(6, $data)) { $data[6] = 0 } Бывает, что у некоторых топиков не бывает даты.
  • Старайтесь не делать лишних движений в большом цикле, поэтому стоит убрать все выводы на экран.
  • В конфиге сфинкса используйте sql_query_range

Мой индексатор индексирует за 200 секунд в 4 потока. Правда я не использую mysql вообще, всё сделано с помощью sphinx'а и его xmlpipe2. Правда пока я не доделал выдергивание категорий/подкатегорий. Может на досуге доделаю, чтобы формировал php-массив и далее его нужно будет просто инклудить в код. Я считаю, что mysql для этого избыточна.
Идея понятна, благодарю.
Поэкспериментирую :)
Я считаю, что mysql для этого избыточна.

Для такой задачи и PHP избыточен. Дожили. Чтобы найти что-нибудь на rutracker, надо научиться поднимать LAMP. Решение с PHP непрактично ни в каком виде. А так, пользуюсь поиском по DHT прямо в клиенте qBittorrent, оттуда же начинаю воспроизведение видео потоком. Не знаю, ищет ли qBittorrent конкретно раздачи rutracker, но все популярное и почти все непопулярное (например, пиратские копии баз maxmind или пиратский КонсультантПлюс).
Я не делаю никаких реклам, просто привожу пример как «непопулярных» раздач.
На мой взгляд, тут не хватает интеграции с какой-нибудь качалкой, имеющей веб интерфейс типа transmission.
Еще, чтобы на смарт-тв работало. И воспроизводило видео без полной загрузки. Прямо как в Popcorntime
Хотелось бы обратиться к автору.
Этих magnet-хостингов вагон и тележка тысячи онлайном по всему миру. Все заблокировать в РФ не получится. И попросить удалить раздачу, например, с китайского трекера сложно, там местный админ не понимает ни русский ни английский.
На вашем месте, я бы потратил часть новогодних каникул на изучение node.js.
О Popcorn уже не раз писалось на хабре.
Если вам не все равно, адаптируйте пожалуйста туда нормальное отображение описания видео и рейтингов или даже поиск по рейтингам.
Поисковые провайдеры туда вроде как подключаются легко.
На Yii в node.js похож фреймворк Keystone.
3 минуты на генерацию сайта. Накидать модели и шаблоны jade. — не больше 2 часов освоения.
а можно сделать стандартную виртуальную машину?
Можно, но я не знаю, как. Никогда не сталкивался с этим.
Так можно и в Docker-контейнер упаковать)

Причем это довольно просто делается
Only those users with full accounts are able to leave comments. Log in, please.