KlonD90
очень не популярный в ноде подход
zamir
на всяких уроках)
KlonD90
плохие уроки - учат плохому (
Mikhail
flash из рельс наверное, но подход старомоден, да
Nurik
Всем привет. Ребят пишу парсер. Нужно лимитировать количество одновременных запросов. Нужна очередь. Что есть из готового ? Нужна именно структура очередь, а не Kue и ему подобные.
KlonD90
если нужно лимиторовать одновременных запросов то тебе нужен пул а не очередь.
Nurik
rabbitmq
Я же написал мне нужна структура данных, а не брокер сообщений.
Vladimir
Здесь не нужно ничего готового, просто напиши что тебе нужно
Vladimir
Строк 20 займет, примерно
Bogdan
Я же написал мне нужна структура данных, а не брокер сообщений.
Ну так если один потребитель сообщений будет, то в чем проблема? Еще рэббит позволяет по времени выполнять задачи
Bogdan
Если ж не - то и правда сам напиши. Что там ее писать
Nurik
Не понял, а что все свою структуру очереди всегда пишут сами или как ?
Vladimir
Почему нет?
Sparrow
че там писать то? засунул-высунул
Bogdan
Введи в нпм queue и найди подходящий
B
Всем привет Подскажите как можно сделать Битовую маску из диапазона дат например 20.08.17 - 29.08.17 сделать в маску а потом при сравнении 21.08.17 - 26.08.17 === true
B
может кто знает умный способ хранить мого диапазонов дат а потом делать по ней выборку из mongodb
сomorsiс
а причем тут битовые маски?
B
ну думаю както через них реализовать
B
у меня есть просто главноя запись у нее есть даты с по и таких записей тоже может быть несколько
B
и мне нужно выбрать главные записи те которые входят в этотдиапазон
KlonD90
трудно жить без интервалов
KlonD90
вообще в этой задаче у тебя есть min, max и ты сравниваешь просто вхождение этот интервал другого интервала
KlonD90
зачем тут маски
KlonD90
О_о
B
нет не подходит
B
у меня база большая
сomorsiс
сколько элементов?
B
вобщем это бронирование квартиры
сomorsiс
//битовые маски точно левые тут
B
есть комнаты у них есть отдельно даты когда они могут быть бронированны
KlonD90
у меня база большая
и что? btree вроде не отменили еще.
B
вот например 25 - 28,28 -30 а человек выбрал с 25 по 30 и должно найти эту комнату
B
ну пока 1 миллион записей комнат но в дальнейшем будет рости
сomorsiс
а, т.е. у каждой комнаты несколько интервалов
B
да
B
и это отдельная коллекция с интервалами
сomorsiс
попробуй кешировать, лол
B
что именно кешировать ?
сomorsiс
запросы типа from - to на поиск комнат
B
так в том то и дело такое не находит тогда
KlonD90
вот это
в примере не рванный интервал
KlonD90
что довольно странно
B
ну да пока такое не находит но должно
B
так как люди хотят в разные даты разные цены ставить
KlonD90
ну так сделай его непрерывным
Sparrow
битмаски это хорошо на короткий срок, а лукапы на отдаленное будущее нужно отдельно смотреть
Sparrow
и с битмасками хорошо редиска как раз работает
B
да как хранить их уже проблема вторая
B
мне бы как бы сделать само решение )
Sparrow
т.е. кэшируй краткосрок в редиску с битмасками, а интервалы мержи при сохранении
KlonD90
причем здесь вообще битмаски?
Sparrow
а их удобно сравнивать
сomorsiс
лол, битмасками удобно искать вложенные отрезки?
сomorsiс
новое слово в алгоритмах
Sparrow
если у тебя отрезки одинаковую длину имеют, то очень удобно
KlonD90
да тут должен быть стандартный композитный btree index
Sparrow
т.е. например по 60 дней
KlonD90
и обычный запрос
KlonD90
index(from, to) запрос from <= query_from AND to >= query_to делов-то
B
ну может и так
Sparrow
у него комната бронируется на стопицот интервалов
B
возьму интервал 2 года и пока норм
KlonD90
у него комната бронируется на стопицот интервалов
на это можно забить. он может с редуцировать еще одну коллекцию для поиска
Sparrow
угу
Sparrow
точнее ему под бронирования нужно отдельный релейшен делать
B
что думаете если 25-28,28-30 записать в бд комнату 25-30 и делать уже выборку тут
B
как вобще mongo хорошо относится к сравнениями с датами
сomorsiс
а где хранить пересекающие границы отрезки?
B
так как и храню в отдельной коллекции
B
mongoose хранит date не timestamp
B
лутше сделать number?
Sparrow
а, там монго )
сomorsiс
всмысле монга хранит как число подобно таймштампу
сomorsiс
>Internally, Date objects are stored as a 64 bit integer representing the number of milliseconds since the Unix epoch (Jan 1, 1970), which results in a representable date range of about 290 millions years into the past and future.