Alexander
День добрый, может кто подсказать по запросам на скулю? Если в кратце, в цикле вызывается функция в которую передается 2 параметра (имя, меил), в этой функции открывается соединение, и выполняется запрос ( select), на проверку наличия таких данных уже, далее проверяется recordset на количество записей, если их больше 0 то закрывается соединение просто, если их нет. то выполняется insert с 2 парметрами и после соединения закрывается. Но тут сталкиваюсь с траблом, что он не кладет данные на скулю сразу же, по этому при первой загрузке, дублирующие данные бывают. Вопрос. как можно это пофиксить, и заставлять его отдавать данные на скулю сразу?
Зачем цикл?
Alex
Там происходит выборка данных
Alexander
Alexander
SELECT COUNT(*) FROM table WHERE name= AND email=
Alex
??
Alexander
??
Выведешь количество записей
Alex
Мне не нужно количество записей
Alex
мне нужно что бы данные в скулю попадали сразу
Alex
а не в конце программы
Artem
покажите код
Alex
ибо в таком случае при проверке на наличие, будет возвращаться 0
Alexander
Может ты код предоставишь?
Izzzy
Подозреваю что кто-то не осилил коллбеки.
Sergey
Юзайте гист
Alex
на счет коллбеков правы
Alex
но я не особо понимаю, чем они помогут
AlexMist
Асинхронно запросы идут
AlexMist
Транзакция на запись
AlexMist
Соединение в цикле что ли открывается?
AlexMist
День добрый, может кто подсказать по запросам на скулю? Если в кратце, в цикле вызывается функция в которую передается 2 параметра (имя, меил), в этой функции открывается соединение, и выполняется запрос ( select), на проверку наличия таких данных уже, далее проверяется recordset на количество записей, если их больше 0 то закрывается соединение просто, если их нет. то выполняется insert с 2 парметрами и после соединения закрывается. Но тут сталкиваюсь с траблом, что он не кладет данные на скулю сразу же, по этому при первой загрузке, дублирующие данные бывают. Вопрос. как можно это пофиксить, и заставлять его отдавать данные на скулю сразу?
^^^
Izzzy
я так понимаю товарищ запускает функцию в цикле
Izzzy
И не понимает почему после того как функция исполнится один раз, во второй раз не видно данных которые она записала
Izzzy
Правильно?
Alex
Да
Izzzy
Если бы ты записал код в pastebin или github gist всем было бы легче тебе помочь
Izzzy
Вобщем, тебе надо организовать "асинхронный" цикл чтоле
Izzzy
Потому что сейчас ты не дожидаешься пока у тебя закончится запись в БД
Izzzy
Какой нынче кошерный путь организовать цикл в таком случае, народ?
Alex
https://gist.github.com/anonymous/fbbe6c6cb070598cae8cff25f50c54dc
Alex
Исходник
Dmitry
Может уровень изоляции стоит не читать незакоммиченные и это все в рамках одной транзакции происходит?
Izzzy
Да неет
Izzzy
там просто функция во второй раз вызывается до того как сработают коллбеки от первого раза
Izzzy
Если хочешь сделать красиво - тебе бы в промисы это всё закатать
Izzzy
если по-быстрому - то надо вызывать функцию во второй раз из самого последнего коллбека первого раза
Anonymous
Ещё красивее будет на async/await. 😉 Прям вообще будет выглядеть как обычный цикл.
Izzzy
Да, но перед этим в промис закатать
Anonymous
Alex
окей, пойду почитаю, спасибо
Orion
Расскажите как деплоите на сервер готовый проект?
Dmitry
docker
Orion
а что для сборки webpack? или babel? или просто node?
Andrey
Андрей
Привет всем, кто нибудь работал с кроном? Можете подсказать в лс?
Orion
и папка node_modules полностью присутствует?
Andrey
как бы не зря в package.json есть devDependencies и dependencies
Orion
а собрать в отдельный bundle через webpack?
Andrey
У нас доезжают только необходимые в проде модули.
Orion
просто у того сервака куда буду деплоить совсем плохо с инетом
Mikhail
shrinkpack в помощь
Andrew
А с помощью fs или path либ можно пулучить список файлов по шаблону dir/*.js?
Zaur
народ, а скорость обработки 500 запросов в секунду - это много или мало? простите за тупой вопрос :) мне просто любопытно, я вот в приложении эмулировал 10000 запросов с таймаутом в 1ms, и все отработались через 20 сек. Каждый запрос - это чтение из базы и запись новой строчки.
Андрей
хттп ?
Zaur
nodejs, бот для Телеграм
Андрей
хттп.
хз )
Dmitry
Zaur
Zaur
а почему pm2 запускает сразу два процесса?
$ cat start.json
{
"script": "bot/app/index.js",
"name": "TestBot",
"env": {
"NODE_PATH": ".:./bot/"
}
}
$ pm2 start start.json
[PM2] Applying action restartProcessId on app [TestBot](ids: 0,1)
[PM2] [TestBot](0) ✓
[PM2] [TestBot](1) ✓
Дима
Orion
Всем привет!
Vitaliy
Это не тот случай :)
Orion
Непривет тебе!
Vitaliy
Тут же не рабочая переписка, а групчат, и человек только добавился, заявил окружающим, что он пришёл! :)
Vitaliy
Теперь мы знаем!
Orion
я не только что добавился
Vitaliy
Orion
ВСЕМ ПРИВЕТ!
Orion
так достаточно громко?
Vitaliy
Так, я троллю, что ли? Не пойму сам..
Vitaliy
Так, давайте лучше вот что.. Кто как документирует свой REST API?
Orion
GET\POST\PUT\PATCH
Orion
это не то?
Vitaliy
Как ты предоставляешь документацию на свои ручки тем, кто их дергать потом будет?
*ничего, что на ты? Я случайно, обычно так не делаю
Orion
я сам себе разработчик и пользователь
Orion
посмотрел исходники и всё вспомнил
Orion
ничего
Orion
я бы использовал TDD и код станет самодокументированным
Vitaliy
Ок, тогда вот так попробуем..