Таймураз
Работай лучше в главном процессе
Таймураз
И если важна скорость, асинки убери
Sheldhur
ну это всё пробрасывать
Таймураз
Несложно же
Sheldhur
без асинков рендер виснет и не реагирует ни на что
Таймураз
Перепиши на промисы
Sheldhur
а почему в мейнпроцессе должно быть лучше?
Таймураз
Точно не знаю, но что-то мне подсказывает, что работать в фоновом процессе лучше, чем в браузерном потоке
Sheldhur
не быстрее
Dmitry
Sheldhur
sqlite не умеет пачкой, только через транзакцию если
Dmitry
Я правда не уверен что sqlite так умеет
Dmitry
Ну значит через транзакцию :)
Sheldhur
ну это не особо поможет, имхо
Dmitry
Может в шарпе через транзакцию идет по умолчанию
Sheldhur
что-то другое сжирает скорость
Dmitry
Пробовать надо, не знаю как драйвер под капотом работает. В обычных бд пачкой всегда прилично быстрее
Sheldhur
мб sequelize на столько слоупочный
Dmitry
Нормальный он, тут же чистый запрос. Я так по миллиону записей гоняю и все шустро
Dmitry
Попробуйте все же через транзакцию данные записать, если не поможет будем думать
Sheldhur
да ну не, в c# без транзакций же
Андрей
Sheldhur
ща попробую
Андрей
В електроне если делать через рендер процесс то будет медленней. Там под капотом чтото типа рпц. Надо из мейн процесса выполнять ) (код не зырил)
Dmitry
Прототипное наследование
Не то. Видимо не правильно описал задачу. Есть некий сервис который использует настройки, которые может поменять другой сервис (property)
Dmitry
И эти property можно менять не перезагружая никакой процесс (они должны отлавливать изменения и что-то у себя обновлять) или там процессы протекают по таймеру и новые значения в property подхватятся при слудующем тике
Vint
Dmitry
Я уже вчера запилил свой костыль на монго+rabbitmq
Vint
Ну, кролик не совсем для этого, мне кажется.
Dmitry
Ну у меня просто редиса пока нет в проекте, из-за одних proprty его ставить не вар
Vint
Или вот попробуй, я всё ленюсь
https://github.com/RIAEvangelist/node-ipc
Dmitry
Ща гляну. Спасибо
Denis
Vint
Вот сравнение интересное
https://60devs.com/performance-of-inter-process-communications-in-nodejs.html
Dmitry
Это что-то типа конфига, которых хранится в бд
Vint
Ну, как вариант.
Сохранение в БД - это делается инициатором события, к рассылке не относится же.
Vint
Я понимаю. У самого такое есть)
Dmitry
Эт тоже верно
Vint
Если БД постгрес, то можно ещё его нативным notify воспользоваться. Но он дико куцый.
Dmitry
Запилю модуль для этого всего.
Sheldhur
Dreamerinnoise
что есть рпц?
https://en.wikipedia.org/wiki/Remote_procedure_call
Sheldhur
ну вообще в рендер sequelize подрубается через require(electron).remote.require('sequelize'), это как раз через ipc и работает, так что sequelize по сути в мейн процессе вертится
Sheldhur
если я всё правильно понял
Orion
Всем привет!
Андрей
Надо проверять я тебе такое не подскажу) -- сам хз
Имхо лучше бы ты просто данные передавал в мейн процесс , через коллбеки. Но это только предположение что так будет лучше
Sheldhur
да и пробовал я прямо в мейн процессе, быстрее не стало
Дмитрий
всем привет. может кто подсказать что? недавно обновили nodejs с 4 до 6 версии, теперь при запросах к серверу валится следующая ошибка:
(node:6884) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejec
tion id: 17): TypeError: Cannot read property '15' of undefined
Андрей
Хм транзакции тогда крути)
Дмитрий
как её правильно попраить?)
Андрей
Ну да туь явно проблема с реджекшином). Можно попробовать отдебажить
Vint
Андрей
Запусти вот так node --inspect myapp.js появится ссылка. Открой в браузере и дебаж
Дмитрий
хочу понять, почему приходит reject, когда промис возвращает resolve
Таймураз
У тебя где-то ошибка проскакивает, она потом реджект вызывает у промиса
Sheldhur
Хм транзакции тогда крути)
с транзакиями чёт не получается, вроде всё так делаю, а пишет верните промис и роллбек делает, но судя по времени занимает столько же
Sheldhur
может драйвер кривой? я брал sqlite-offline, там для всех платформ есть собранные, а в sqlite версия ноды неподходит, а под виндой не собирается
Sheldhur
ну теперь не работает :)
Sheldhur
теперь ручками надо собирать
Vint
И как раз через nwjs всё крутилось. Почти электрон)
Vint
Они же там хитро берут пребилды с remote. Может не для всех windows оно готовое лежит.
Sheldhur
Sheldhur
нужен v53, в sqlite только v51
Sheldhur
да и чёт сильно сомневаюсь что в драйвере проблема
Vint
У меня сейчас собралось node-v51-win32-x64
Vint
Sheldhur
51 не подходит
Sheldhur
как собирал?
Vint
Не собирал, оно пребилд бинарника стянула из сети само.