
Vladimir
23.10.2016
20:18:39
Где идет?
В этой задаче не идет

Vladislav
23.10.2016
20:19:16
В этой задаче, кроме условия про очередь вообще ничего не известно

Vladimir
23.10.2016
20:19:29
Что такое очередь задач - понятно

Google

Vladislav
23.10.2016
20:19:39
Поэтому утверждать, что для приоритета очередей нужна БД, верх странности

Vladimir
23.10.2016
20:20:04
Для прироритета нужна очередь с приоритетом
Это можно смоделировать поверх любой СУБД, но нельзя поверх кролика

Vladislav
23.10.2016
20:20:38
Бля
Делайте как считаете
БД пихать для обработки логики ??

Vladimir
23.10.2016
20:21:32
В продакшне никто не будет деплоить, например кролика, если можно сделать с помощью существующей инфраструктуры
Поэтому очередь задач поверх реляционной базы - нормальная практика
База то уже есть

Vladislav
23.10.2016
20:23:15
Еще лучше, запихнуть логику в БД, а потом, трахаться при миграции данных ??

Pavel Horoshilov
23.10.2016
20:26:32
О да, в хранимых процедурках

Vladislav
23.10.2016
20:26:59
Да да

Междоус
23.10.2016
20:27:13
Так хранимки первыми переносить

Google

Vladislav
23.10.2016
20:27:37
Как? Если другая БД? ?
И нет возможности переноса хранимок?

Vladimir
23.10.2016
20:28:10
Базу тоже в общем случае нет возможности перенести

Vladislav
23.10.2016
20:28:14
Вам за хранимки архитектор не только руки, но и яйца должен оторвать

Vladimir
23.10.2016
20:28:44
О чем? О том чтобы у разных СУБД разный функционал?

Vladislav
23.10.2016
20:28:46
ETL не существует, это миф

Vladimir
23.10.2016
20:29:39
Разные типы данных, etc
Перенести возможно, но нужно руками проработывать каждую таблицу
С таким же успехом можно и хранимки переписать

Vladislav
23.10.2016
20:30:15
?
Вот тебе пример
Перенеси с Oracle с PL/SQL в HP Vertica

Vladimir
23.10.2016
20:31:26
И? Дальше что?

Vladislav
23.10.2016
20:31:45
Ничего, хрен ты перенесешь логику

Vladimir
23.10.2016
20:31:58
Вполне возможно

Vladislav
23.10.2016
20:32:12
А вот перенос данных 1 к 1 вообще не проблема

Vladimir
23.10.2016
20:32:23
Не проблема, если есть поддержка всех типов данных

Vladislav
23.10.2016
20:32:28

Vladimir
23.10.2016
20:32:48
Вполне возможно, что хрен перенесешь

Google

Vladislav
23.10.2016
20:32:49
Понятно, ты вообще не в теме про БД
Пойду я отсюда, а то знатоки будут учить меня работать

Vladimir
23.10.2016
20:33:20
Я достаточно в теме про БД
Но не суть

Vladislav
23.10.2016
20:34:11
Заметно, поэтому логику приоритета в очереди предлагаете в БД сделать ??

Vladimir
23.10.2016
20:34:28
Ты не предложил свое решение, если что
То что я предлагаю - вполне будет работать с какой то нагрузкой, возможно, достаточной

Vladislav
23.10.2016
20:35:46
Ну наверно да, если успевают очередь разгребать руками и выставлять приоритеты, как и в CRM, в принципе ?

Vladimir
23.10.2016
20:36:13
Условно - приоритет это таймстемп
В определенный момент мы хотим перенести задачу их далекого будущего в более близкое будущее
Это требует со стороны очереди поддрежку произвольных приоритетов, возможность их изменять и заодно возможность полностью просматривать содержимое очереди

Vladislav
23.10.2016
20:38:15

Vladimir
23.10.2016
20:38:35
Это пример, зачем это может быть нужно
Подразумевается в общем случае, что множество приоритетов не конечно
Это можно например и в редисе сделать

Pavel Horoshilov
23.10.2016
20:45:26
Мое решение: на бэке в бесконечном while чекать бд. А там табличка, Id, taskId, prioritetNumber. Делать выборку с сортировкой по приоритету

Vladimir
23.10.2016
20:50:33
https://tech.badoo.com/ru/article/77/migracziya-fotografij-ili-eshhyo-odna-ochered-na-mysql/
С хабра

Междоус
23.10.2016
21:02:35
И для задачи Дарьи редиса достаточно. В середину не сунуть, но вполне две очереди, обычная и повышенного приоритета. Lpush, brpop. А собственно где зачинщица горячей дискуссии?

Vladimir
23.10.2016
21:03:49
Можно в середину, если использовать zset

Google

Ҫѐҏӗѫӑ
24.10.2016
00:03:04

Evgeny
24.10.2016
00:50:08
Hi all. А кто тут пользуется докером для запуска ноды в процессе разработки на локали? Свой контейнер или готовые? Хотрелоад?

Павел
24.10.2016
01:13:16
Яяяяя
Я уже 4 день пытаюсь его поднять
Сегодня 8 часов с русским коммьюнити общался и писал конфиг
Это жесть

Admin
ERROR: S client not available

Павел
24.10.2016
01:13:48
Сорян - наболело
Да, Евгений)
И тут я)
Кстати, русское коммьюнити мне больше всех понравилось по общению

Tony
24.10.2016
04:13:51
В новых версиях нод не создаётся server.js?

I
24.10.2016
05:10:58
А как ты его создаешь на старых версиях?

Roman
24.10.2016
05:36:48
салам всем
почему required может возвращать пустой объект?
подключаем модель, в модельке все ок, в module.export пишется все как надо
но в required возвращается {}
к слову ошибка воспроизводится только в протракторе
куда курить?

Oleg
24.10.2016
05:40:16
Посоветуйте модуль для локализации под express поддерживающий YAML?

Google

Tony
24.10.2016
06:28:24
есть разница между "use strict" и 'use strict'?

[Anonymous]
24.10.2016
06:30:13
это nodejs конфа

Tony
24.10.2016
06:30:44
jq
ой
извиняюсь

Alex
24.10.2016
06:33:52
Нет

Котяй Негодяй
24.10.2016
08:21:08
Вопрос по Mongoose. Есть модель с полем даты и установленным expires. Когда я получаю запись таблицы, могу ли я получить время, на которое назначено удаление записи? Если да, то как?

Николай
24.10.2016
09:32:07
вам не инетересены capped коллекции? Вы вручную делаете expires?

Amon Bower
24.10.2016
10:05:29
Здравствуйте! Помогите решить одну траблу. Я пишу чат на Socket.io + Node.js. И имеется глобальная переменная users, в которую вносятся список гостей чата. Проблема в том, что юзеры дублируются. Хотя я и делаю проверку на наличие такого ID в users
User.prototype.new = function(id){
id = parseInt(id);
if (server.users.length) {
for (i in server.users) {
if (server.users[i].id==id) return false;
server.users.push({
id: parseInt(id),
name: 'Guest' + id,
is_online: true,
});
}
} else {
server.users.push({
id: parseInt(id),
name: 'Guest' + id,
is_online: true,
});
}
this.uid = id;
}

Николай
24.10.2016
10:10:26
начнем с рефакторинга:
User.prototype.new = id => {
id = parseInt(id);
const user = server.users.find(_id => id === _id);
if (user) {
return false;
}
server.users.push({
id,
name: Guest ${id},
is_online: true,
});
this.uid = id;
}
упс, поиск немного не так написал: const user = server.users.find(user => user.id === id);

noir
24.10.2016
10:12:04
server.users.includes(id) тогда уже

Николай
24.10.2016
10:12:20
нет, так не будет работать
includes() определяет, содержит ли массив определённый элемент
т.е. нужно впихивать весь обьект пользователя
includes удобен при массиве чисел или строк

noir
24.10.2016
10:13:50
не заметил, думал там массив айди