
Дмитрий
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 + файлов
все не завершаются
сегодня смотрю ругается на память

Sheldhur
19.08.2017
08:03:32

Дмитрий
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

Ilgiz
19.08.2017
08:08:02

Дмитрий
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
по памяти оверхед

Ilgiz
19.08.2017
08:09:13
которые весят

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

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

Sheldhur
19.08.2017
08:11:11
а если просто из одного ведра в другое через сито перелить, тогда да

Дмитрий
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
ну не