Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2021 January 26

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Алексей Попов
Стартовать пока можно за 12, а вот длиться это должно дольше, потому что есть часовые пояса +12:45, +13 и +14 😞
Вернее наоборот, стартовать надо раньше
источник

АЗ

Алексей Забайкальски... in NodeUA - JavaScript and Node.js in Ukraine
Alexander
Из всего что есть по этой теме в нпм - лучшее. Но с другой стороны там есть много чего лишнего, что в "больших" проектах решается на другом уровне (напр. тот же лоадбалансинг).
Если абсолютно все сервисы писать на молекулярах - это хорошее решение. Если у вас зоопарк - не подойдет.
а тут вопрос:
как организовать работу команды с разными сервисами в пределах одного репозитория, чтобы этот процесс был адекватным :)
понимаю, что задача решённая, хотелось бы ссылку на качественный материал
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Алексей Забайкальский
а тут вопрос:
как организовать работу команды с разными сервисами в пределах одного репозитория, чтобы этот процесс был адекватным :)
понимаю, что задача решённая, хотелось бы ссылку на качественный материал
если на ноде все - то rush + pnpm

Есть неплохая статья от коллеги - https://blog.ghaiklor.com/2020/07/12/mono-repository-done-right/
источник

АЗ

Алексей Забайкальски... in NodeUA - JavaScript and Node.js in Ukraine
Alexander
если на ноде все - то rush + pnpm

Есть неплохая статья от коллеги - https://blog.ghaiklor.com/2020/07/12/mono-repository-done-right/
как раз её открыл 🙏
источник

AZ

Alexander Zakharov in NodeUA - JavaScript and Node.js in Ukraine
Алексей Попов
Вернее наоборот, стартовать надо раньше
Так и я о том же. Стартовать на 12 часов раньше Гринвича и заканчивать на 12 часов позже. То есть это длится до 24 часов. Я как то писал планировщик мобильных пуш-нотификаций для большого международного игродела. Сервер был по Гринвичу. В аккаунтах пользователей была таймзона и оффсет в милисекундах (положительный или отрицательный) на основе этой таймзоны. И вот, берешь дату и время отправки по Гринвичу в милисекундах добавляешь оффсет, и вот точное время отправки с учетом таймзоны пользователя получено. Когда оно наступит, полетит пуш на мобилку.
источник
2021 January 27

NK

ID:0 in NodeUA - JavaScript and Node.js in Ukraine
источник

SS

S S in NodeUA - JavaScript and Node.js in Ukraine
ID:0
В голос
источник

A

Andrew in NodeUA - JavaScript and Node.js in Ukraine
ID:0
🤓
источник

Y

Yevhen in NodeUA - JavaScript and Node.js in Ukraine
Roman B.
Здраствуйте, использую nodemailer для отправки форми с сайта на пошту gmail. На локальном хостинге все работает, как только заливаю код на хостинг сообщения не приходят. Опцию в настройках аккаунта пошти google less secure apps включил на Enable, и все равно не работает.

Сам код:
  let transporter = nodemailer.createTransport({
   host: 'smtp.gmail.com',
   service: "gmail",
   port: 465,
   secure: true, // true for 465, false for other ports
   auth: {
     user: 'user@gmail.com', // generated ethereal user
     pass: 'userpassword' // generated ethereal password
   },
   tls:{
     rejectUnauthorized: false
   }
 });

 let mailOption = {
   from: 'vikobanzayinfo@gmail.com',
   to: "vikobanzayinfo@gmail.com," + data.email,
   subject: "Віко Банзай",
   text: 'Нове замовлення',
   html: res //HTML замовлення товару
 };

let info = await transporter.sendMail(mailOption, (error, info) => {
   if (error) {
     return console.log("Error sending message: ", error );
   }
   console.log("Message Was Sent Succesfuly: %s", info.messageId);
   return true;
 });

Что я делаю не так?
Имейте в виду, что политика Google не разрешает использовать gmail аккаунты для бизнес целей и для массовых рассылок. Разрешено только персональное использование
источник

R

Roman in NodeUA - JavaScript and Node.js in Ukraine
Elena Sharovar
Если у вас в базе есть таблица users и для каждого юзера вы храните таймзону, то крон должен запускаться каждый час и искать юзеров у которых сейчас к примеру 9 утра.

В Postgres это делается так: SELECT name, email, userTimezone
from users
WHERE date_part('hour', TIMEZONE(userTimezone, now()::timestamptz)) = 9
Что если скрипт будет запускатся не каждый час а каждые 30 минут. Вопрос в том если время 16:33 то нужно отсекти к 16:30, как в этом случа
источник

ES

Elena Sharovar in NodeUA - JavaScript and Node.js in Ukraine
та хоть каждую минуту запускайте.
важно чтобы скрипт правильно обнаруживал сколько времени у юзера и слал ему письмо когда у него именно столько сколько вам нужно
источник

R

Roman in NodeUA - JavaScript and Node.js in Ukraine
Там же есть таймзоны у которые на 30 минут больше по времени
источник

ES

Elena Sharovar in NodeUA - JavaScript and Node.js in Ukraine
какая разница

SELECT name, email, userTimezone
from users
WHERE date_part('hour', TIMEZONE(userTimezone, now()::timestamptz)) = 9 AND date_part(‘minute’, TIMEZONE(userTimezone, now()::timestamptz)) = 33

будет находить вам юзеров у которых сейчас 9:33 даже если у них смещение 15 минут 45 секунд от Гринвича
источник

R

Roman in NodeUA - JavaScript and Node.js in Ukraine
Elena Sharovar
какая разница

SELECT name, email, userTimezone
from users
WHERE date_part('hour', TIMEZONE(userTimezone, now()::timestamptz)) = 9 AND date_part(‘minute’, TIMEZONE(userTimezone, now()::timestamptz)) = 33

будет находить вам юзеров у которых сейчас 9:33 даже если у них смещение 15 минут 45 секунд от Гринвича
Почему 33 там же может быть любое время. Суть в том чтобы отсекать к половине.
источник

ES

Elena Sharovar in NodeUA - JavaScript and Node.js in Ukraine
аа вы имели в виду что если раз в час запускать то не попадешь на это время ) пропустишь момент.

если есть база с юзерами вы можете проверить есть ли у вас такие вообще. может их и нет.
источник

R

Roman in NodeUA - JavaScript and Node.js in Ukraine
Elena Sharovar
аа вы имели в виду что если раз в час запускать то не попадешь на это время ) пропустишь момент.

если есть база с юзерами вы можете проверить есть ли у вас такие вообще. может их и нет.
А если есть. Как мониторить каждые 30 минут если время 12 например?
источник

ES

Elena Sharovar in NodeUA - JavaScript and Node.js in Ukraine
тогда нужно идти в обратном порядке. заранее для каждого пользователя вычислить UTC время когда ему слать письмо. и покласть это в очередь.
источник

V

Vitaliy in NodeUA - JavaScript and Node.js in Ukraine
А чому б таймери не юзати?
Для кожної зони свій таймер з конкретною годиною?
источник

R

Roman in NodeUA - JavaScript and Node.js in Ukraine
Elena Sharovar
тогда нужно идти в обратном порядке. заранее для каждого пользователя вычислить UTC время когда ему слать письмо. и покласть это в очередь.
А что потом с этой очередью делать?
источник

В

Влад in NodeUA - JavaScript and Node.js in Ukraine
Подскажите несколько хостингов с поддержкой nodejs (гугл выдает топ хостингов, но все же...) Кто пользовался какими, какие нюансы мб есть, посоветуйте, пожалуйста
источник