@nodejs_ru

Страница 1109 из 2748
Дмитрий
19.08.2017
07:49:26
Аа, ну и важный момент, в SW нет доступа до localStorage, надо юзать indexedDb чтобы соеденить данные между страницей и воркером

Sheldhur
19.08.2017
07:49:57
последний вопрос в FCM\APNS шлется конекретно мессага, которая должна отобразиться или событие, чтобы воркер чекнул?

Дмитрий
19.08.2017
07:50:55
Шлеться объект с данным(прям текст сообщения, картинки и т.д.). Либо можно отослать пустое сообщений. Все эти данные будут доступны в обработчике события push

Далее либо вот как медуза запрашивать данные

Google
Дмитрий
19.08.2017
07:51:39
либо использовать то что пришло в push

Sheldhur
19.08.2017
07:52:22
а вы как делаете?

как лучше то?

универсальнее

Дмитрий
19.08.2017
07:53:32
У нас конкретный push это набор данных, никаких запросов на сервере(кроме статистики) мы не делаем

Sheldhur
19.08.2017
07:53:46
окай, спсб

Ilgiz
19.08.2017
07:57:13
Ребята у меня вопрос, если я запустил скрипт через крон и если этот скрипт после завершение своей цели не выходит с процесса то то это в итоге приведет к утечке памяти?при каждом последующем запуске этого скрипта кроном

Дмитрий
19.08.2017
07:57:20
@b101010 Советую посмотреть, просто ради понимания какие есть возможности: 1) https://onesignal.com/ 2) https://viapush.com/

@ikasymov еще как

Ilgiz
19.08.2017
07:58:07
епт мать

Дмитрий
19.08.2017
07:58:15
У тебя будут запускатья каждый раз новый процесс

Ilgiz
19.08.2017
07:58:34
я уменя сервер ругается FATAL ERROR: NewSpace::Rebalance Allocation failed - process out of memory

и что делать?

Google
Ilgiz
19.08.2017
07:58:59
в конце обьязательно добавить process.quite() ?

Дмитрий
19.08.2017
07:59:13
Ну брать себя в руки) Далее пишешь код так чтобы он сворачивался норм

Закрытие всех коннектов

Sheldhur
19.08.2017
07:59:19
процесс сожрал всю выделенную для него пямять

Дмитрий
19.08.2017
07:59:29
Завершение всех интервалов и т.д.

Sheldhur
19.08.2017
07:59:51
тебе при запуске скрипта надо указать, сколько нода может сожрать оперативы

Дмитрий
19.08.2017
07:59:58
Нода сама умрет если ты правильно ее приготовишь(завершишь все активные процессы, коннектц и т.д.)

Sheldhur
19.08.2017
08:00:01
по умолчанию 1.5гб вроде жрет

Ilgiz
19.08.2017
08:00:27
локально он у меня не умирает а стоит просто

пока сам не убил ctrl + c

Дмитрий
19.08.2017
08:00:53
Значит он что-то делает или что-то ждет

Ты не завершил что-то в логике или коннектах

Никита
19.08.2017
08:01:11
listen скорее всего

Ilgiz
19.08.2017
08:01:12
понятно

Дмитрий
19.08.2017
08:01:20
Лучше писать демонов + запуск через pm2

Ilgiz
19.08.2017
08:01:28
что за listen?

Никита
19.08.2017
08:01:58
а там крон

Дмитрий
19.08.2017
08:02:00
Я советую отучаться от крона, когда у тебя логика растет в кроне уже все не очень прозрачно

Никита
19.08.2017
08:02:03
все, извиняйте

Дмитрий
19.08.2017
08:02:47
А че там в коде то происходит?

Google
Ilgiz
19.08.2017
08:02:55
парсеры

Дмитрий
19.08.2017
08:02:57
Подключения к базе есть?

Ilgiz
19.08.2017
08:03:00
30 + парсеров

каждый час запускаю 30 + файлов

все не завершаются

сегодня смотрю ругается на память

Дмитрий
19.08.2017
08:03:40
Может

Ilgiz
19.08.2017
08:03:43
как убить процессы сейчас? что б не жрал данный момент

Дмитрий
19.08.2017
08:03:55
Нода умирает если ей больше нечего делать

Ilgiz
19.08.2017
08:03:59
sequelize

Дмитрий
19.08.2017
08:04:26
Если есть хоть любой малейший намек на работу демона, то нода не умрет

Sheldhur
19.08.2017
08:04:30
ой, выкинь это говно

если в нем действительно нет необходимости

Ilgiz
19.08.2017
08:04:50
код обычный такой let value = await db.Parser.findOrCreate({ where: { key: data.dataName }, default: { key: data.dataName, value: urlList[0] } });

Sheldhur
19.08.2017
08:04:56
лучше нативным

Дмитрий
19.08.2017
08:05:52
1) Лучше нативный модуль имхо 2) Закрыть все коннекты к базам 3) Убедиться что все заканчивается без таймоутов и т.д.

Sheldhur
19.08.2017
08:06:21
конекты то зачем закрывать

имхо они как раз должны быть открыты

Google
Дмитрий
19.08.2017
08:06:32
Иначе нода не будет умирать

Ilgiz
19.08.2017
08:06:33
коннекты у меня вроде нет

Sheldhur
19.08.2017
08:06:40
особенно если пулл

Дмитрий
19.08.2017
08:06:42
У него php стайл)

Запустил, поработало, закрылось

Sheldhur
19.08.2017
08:07:13
так пусть нормальный демон сделает

я таки думаю что надо просто --max-old-space-size=8192 добавить

и жизнь наладится

дальше смотреть

Дмитрий
19.08.2017
08:07:59
Лучше писать демонов + запуск через pm2

Дмитрий
19.08.2017
08:08:15
Да что наладится то)

Sheldhur
19.08.2017
08:08:19
параметр при запуске скрита

Ilgiz
19.08.2017
08:08:29
0 * * * * node /home/user/project/file.js

куда добавить?

Дмитрий
19.08.2017
08:08:40
Если ты в кроне будешь запускать ноду которая тупо висит и ничего не делает то через сутки у тебя будет 48 таких нод

Sheldhur
19.08.2017
08:08:43
Да что наладится то)
ну может у него данных много, и демон впринципе не справляется

по памяти оверхед

Google
Никита
19.08.2017
08:09:22
htop

Дмитрий
19.08.2017
08:09:22
Ну имхо лучше на потоки перейти и логики продумать, чем давать ноду 8 гб))

Ilgiz
19.08.2017
08:09:24
linux os

Дмитрий
19.08.2017
08:09:44
ps aux | grep node

Sheldhur
19.08.2017
08:09:46
0 * * * * node /home/user/project/file.js
node ---max-old-space-size=8192 /home/user/project/file.js

Дмитрий
19.08.2017
08:10:44
И имхо 30+ парсеров это в крон не надо, пиши демона нормального, который не будет закрываться и который сам будет контролировать что за чем идет и как работает

Sheldhur
19.08.2017
08:11:11
Ну имхо лучше на потоки перейти и логики продумать, чем давать ноду 8 гб))
ну смотря что там делается, если надо получить все данные, как-то их перемолоть, то потоки тут никак не помогут

а если просто из одного ведра в другое через сито перелить, тогда да

Дмитрий
19.08.2017
08:11:57
Согласен, но думаю если ситуаци такая как описывается, то проблема все таки не в данных)

Sheldhur
19.08.2017
08:15:20
process out of memory явно указывает, что оверхед по памяти на процесс

Дмитрий
19.08.2017
08:15:37
Это очевидно да)

Sheldhur
19.08.2017
08:15:50
т.ч. увеличение --max-old-space-size поможет, если у него php стайл

Дмитрий
19.08.2017
08:16:16
Нет, не поможет, пока скрипты не будут умирать)

Через неделю у него будет 48*7 запущенных нод

и так далее

Ilgiz
19.08.2017
08:16:40
может по конкретней скажете что мне делать?

Sheldhur
19.08.2017
08:16:45
gc же подчищает

а, у него процесс не умирает

Дмитрий
19.08.2017
08:17:05
Ага

Дошло да)

Вот именно что не умирает)

Sheldhur
19.08.2017
08:17:43
ну не

Страница 1109 из 2748