Игорь Морев: использование генераторов и асинк, не делает код синхронным. это всего лишь способы борьбы с callback/promise hell для улучшения читаемости кода, это не магия.
Игорь Морев: есть ряд ситуаций, когда проще и быстрее написать синхронный код: при написании утилит, инициализации приложения, вполне допустимо использовать синхронные операции. Будучи неопытным специалистом, для обучения, быстром написании прототипа или под малой нагрузкой, я допускаю, что для редиса можно использовать синхронные операции. Во всяком случае его скорость позволяла использовать синхронный драйвер в проекте на асинхронном питон сервере в небольшом продакшене.
мы сами собирали данные по процессу ноды, загружали шаблон в заббикс и использовали zabbix trapper, что бы данные отправлять в заббикс, прямо из процесса ноды.
Umid: и что я там должен увидеть?
> function getRandomNum(min,max){
... return Math.floor(Math.random() * (max - min + 1)) + min;
... }
undefined
> getRandomNum(1,3)
1
> getRandomNum(1,3)
2
> getRandomNum(1,3)
2
Вадим Анисов: Если сервер настроен, включено шифрование трафика, остаётся позаботится об различных инъекций(sql, js), xss атак. Но не преувеличивайте проблему, скорее всего на данном этапе ценность данных минимальна, если вы конечно не храните реквизиты кредиток и паспортов.
Андрей: при интенсивном набеге/сбегании пользователей, начнутся проблемы с бд - большое количество запросов адейт/селект. Есть есть возможность складывать цифру в кэшь - складывайте. можно ещё просто счётчик типа:
var count = 0;
io.on('connect' , ()=>count++;);
io.on('disconnect' , ()=>count--;);
Ну это так, для общей концепции)) Пригодиться если 600к соединений наберёте
Станислав: По хорошему, что бы не блокировать поток, лучше использовать сторонний вызов обработки изображения(вызов из консоли/постановка задачи в очередь), ну и стримы использовать.
Имя Фамилия: попробуй руками индекc создать.
п.с. Не знаю как с монго, но с постгре пол года назад миграции были очень плохими, отключал и использовал сторонние. Так что на я особо не расчитывал на миграции
Alex_Wells: и человек и соединение реально будут ждать эти 5-10 секунд?
Опять в чём проблема то? В том что это асинхронный код? Ну добро пожаловать в javascript.
пришёл запрос -> вызвыли запрос к api -> получили ответ асинхронно -> отдали его дальше пользователю.
Не хотите использовать колбэки, используйте ивент эммиторы, промисы, генераторы. Никакого магического Task.Run нет.
setImmidiate - кладёт переданную ему функцию в стэк вызова, т.е. она вызовется в одном из следующих тактов event loop-а.
Эм... как бы асинхронные функции хлеб и соль nodejs, если вы не делаете консольную утииту, то без этого никак.
Если же вам мешает асинхронный стиль написания, то добро пожаловать к промисам( https://learn.javascript.ru/promise ), генераторам ( https://learn.javascript.ru/generator ) и библиотеке co (https://www.npmjs.com/package/co ), до появления нативных async/await. Хотя вроде в 5 версии ноды, должны появиться нативные, не помню.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.