Тут возникла задача ребилдить посты форума в количестве нескольких хреналионов. Причем для максимальной скорости надо ребилдить равномерными блоками.
А равномерные блоки получить не просто. Skip/limit на таких количествах откровенно лажают. Бить по датам - в начале и в конце плотность разная. Добавить к посту рандом и побить на диапазоны - можно, но будет рандомная чтение с диска, грустно.
Теоретически можно конечно в один проход сделать сразу все чанки и заправить в очередь. Но это овер дофига метаданных разом. Плюс мапер будет долго работать - неудобно.
Я вот что подумал - а почему в очередях нет такий фичи, как «map on demand»? То есть очередь время от времени дергает мапер, он смотрит количество ожидающих чанков и если остается мало, то докидывает еще. То есть в каждый конкретный момент мы не гоняем дикие объемы данных и мапер не тупит. Хитрость в том, что мапер должен запоминать последние границы, чтобы вместо skip / limit использовать gt XXX / limit.
Перед тем как лисапедить, облазил всякие celery и ничего подобного не нашел. Даже странно. Может плохо искал?
Ответ на:
комментарий
от blexey
Ответ на:
комментарий
от Vit
Ответ на:
комментарий
от blexey
Ответ на:
комментарий
от Vit
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум логи и чанки (2012)
- Форум noweb, $ в чанках (2011)
- Форум Очередь голосований (2018)
- Форум nginx пишет маленькими чанками в сокет (2023)
- Форум Очереди сообщений (2013)
- Форум Приоритетная очередь (2023)
- Форум Очередь сообщений (2009)
- Форум алгоритм очереди (2015)
- Галерея Моя очередь (2008)
- Форум Postfix очередь (2006)