Size: a a a

Яндекс.Диалоги (сообщество разработчиков)

2019 December 02

SS

Stas Serebrennikov in Яндекс.Диалоги (сообщество разработчиков)
Михаил Захаров
верно - 1 секунду из трёх уже съел на это...
извиняюсь 1000 микросекунд
источник

МЗ

Михаил Захаров... in Яндекс.Диалоги (сообщество разработчиков)
Rlm
Михаил а зачем ждать ответа, запустите как паралельный процесс нет?
Это же Node.js там один thread
источник

R

Rlm in Яндекс.Диалоги (сообщество разработчиков)
на то она и монга, и потом что значит нормлаьная бд? скорее зависит от того на сколько загружен сервер, на сколько загружен сервер бд
источник

SS

Stas Serebrennikov in Яндекс.Диалоги (сообщество разработчиков)
Rlm
на то она и монга, и потом что значит нормлаьная бд? скорее зависит от того на сколько загружен сервер, на сколько загружен сервер бд
ну имется ввиду что это не самый дешевый сервер с 5% Cpu и диски hdd например если говорить о впс
источник

R

Rlm in Яндекс.Диалоги (сообщество разработчиков)
Михаил Захаров
Это же Node.js там один thread
Every node.js process is single threaded by design. Therefore to get multiple threads, you have to have multiple processes (As some other posters have pointed out, there are also libraries you can link to that will give you the ability to work with threads in Node, but no such capability exists without those libraries. See answer by Shawn Vincent referencing https://github.com/audreyt/node-webworker-threads)

You can start child processes from your main process as shown here in the node.js documentation: http://nodejs.org/api/child_process.html. The examples are pretty good on this page and are pretty straight forward.

Your parent process can then watch for the close event on any process it started and then could force close the other processes you started to achieve the type of one fail all stop strategy you are talking about.

Also see: Node.js on multi-core machines
источник

МЗ

Михаил Захаров... in Яндекс.Диалоги (сообщество разработчиков)
Rlm
Every node.js process is single threaded by design. Therefore to get multiple threads, you have to have multiple processes (As some other posters have pointed out, there are also libraries you can link to that will give you the ability to work with threads in Node, but no such capability exists without those libraries. See answer by Shawn Vincent referencing https://github.com/audreyt/node-webworker-threads)

You can start child processes from your main process as shown here in the node.js documentation: http://nodejs.org/api/child_process.html. The examples are pretty good on this page and are pretty straight forward.

Your parent process can then watch for the close event on any process it started and then could force close the other processes you started to achieve the type of one fail all stop strategy you are talking about.

Also see: Node.js on multi-core machines
ОК спасибо, слышал и даже читал немного.... Но честно — не хочется. Я сторонни serverless, только потому чтобы от всего этого избавляться (нельзя слишком много на себя брать), а писать только чистую бизнес-логику (что мне нравится делать). Лучше уж я на Firebase пока (т.е. до самой смерти) останусь 😊
источник

SS

Stas Serebrennikov in Яндекс.Диалоги (сообщество разработчиков)
В тему яндекс функций, я написал Github Action, чтобы новые версии функций деплоить автоматически в облако. Триггеры там можно разные сделать, по пушу в ветку, по тегу и тд
Оно немного костыльное пока, там запускается yc-cli в контейнере, поэтому там требуется токен для cli
https://github.com/Goodsmileduck/yandex-serverless-action
Но если кто то хочет помочь переписать в javascript пишите в личку или на гитхабе создайте Issue
источник

МЗ

Михаил Захаров... in Яндекс.Диалоги (сообщество разработчиков)
Stas Serebrennikov
извиняюсь 1000 микросекунд
Тут вот какая проблемка. По закону 152 ФЗ, ты должен хранить данные пользователя на территории РФ. Поэтому мне не так важно где выполняется функция (пусть в США), а важно, чтобы состояние приложения (например навык по доставке пиццы соберёт с юзера домашний адрес и пр) хранились в БД в РФ. Итак пусть Монго — но чтобы импортозамещённая! 😊
источник

SS

Stas Serebrennikov in Яндекс.Диалоги (сообщество разработчиков)
Михаил Захаров
Тут вот какая проблемка. По закону 152 ФЗ, ты должен хранить данные пользователя на территории РФ. Поэтому мне не так важно где выполняется функция (пусть в США), а важно, чтобы состояние приложения (например навык по доставке пиццы соберёт с юзера домашний адрес и пр) хранились в БД в РФ. Итак пусть Монго — но чтобы импортозамещённая! 😊
вы уверены что у вас именно ПД? если там просто имя данные не попадают по закон
источник

МЗ

Михаил Захаров... in Яндекс.Диалоги (сообщество разработчиков)
Stas Serebrennikov
вы уверены что у вас именно ПД? если там просто имя данные не попадают по закон
А что тогда по твоему ПД? Школьная кличка? 😊
источник

FC

Fun Craft in Яндекс.Диалоги (сообщество разработчиков)
ПД - информация, которая позволяет точно идентифицировать личность.
Имя - не ПД. Имя и, скажем, адрес проживания - это уже ПД.
источник

SS

Stas Serebrennikov in Яндекс.Диалоги (сообщество разработчиков)
нет, имя и телефон например
источник

SS

Stas Serebrennikov in Яндекс.Диалоги (сообщество разработчиков)
+1
источник

МЗ

Михаил Захаров... in Яндекс.Диалоги (сообщество разработчиков)
Stas Serebrennikov
нет, имя и телефон например
Ну я же привёл пример: ты делаешь заказчику навык по доставке пиццы, навык собирает ФИО, телефон, адрес — всё это надо хранить в РФ
источник

SS

Stas Serebrennikov in Яндекс.Диалоги (сообщество разработчиков)
Ну в конкретном примере да. Но вы не для всех же навыков будите собирать ПД
источник

МЗ

Михаил Захаров... in Яндекс.Диалоги (сообщество разработчиков)
Поэтому я сейчас и ищу хорошую связку: функция (в любом месте мира) + БД (в РФ). Всё должно вкладываться в 3 с с запасом (навык-то коммерческий). А ведь ещё надо сделать запрос к api поставщика пиццы — т.е. получить актуальную инфу о пиццах (на предмет наличия отсутствия).
источник

МЗ

Михаил Захаров... in Яндекс.Диалоги (сообщество разработчиков)
Stas Serebrennikov
Ну в конкретном примере да. Но вы не для всех же навыков будите собирать ПД
Нет, для кейса выше только...
источник

МЗ

Михаил Захаров... in Яндекс.Диалоги (сообщество разработчиков)
Fun Craft
ПД - информация, которая позволяет точно идентифицировать личность.
Имя - не ПД. Имя и, скажем, адрес проживания - это уже ПД.
Согласен, именно так.
источник

FC

Fun Craft in Яндекс.Диалоги (сообщество разработчиков)
Михаил Захаров
Ну я же привёл пример: ты делаешь заказчику навык по доставке пиццы, навык собирает ФИО, телефон, адрес — всё это надо хранить в РФ
Есть ещё вариант извращённый, но я не проверял - разделить данные и все составные части ПД хранить в разных БД, тогда в каждом конкретном случае у вас не будет ПД и, следовательно, можете хранить где хочется.
источник

МЗ

Михаил Захаров... in Яндекс.Диалоги (сообщество разработчиков)
Fun Craft
Есть ещё вариант извращённый, но я не проверял - разделить данные и все составные части ПД хранить в разных БД, тогда в каждом конкретном случае у вас не будет ПД и, следовательно, можете хранить где хочется.
Это надо юристов подключить... А потом с РФ судиться. И что-то мне подсказывает что РФ тяжбу выиграет... 😊
источник