@electron_ru

Страница 22 из 177
Sergey
05.04.2017
16:34:21
один форк - один процесс

Sheldhur
05.04.2017
16:34:32
ну, а остальные для рендера и прочего

их можно как-то убрать?

чтобы просто один процесс был, а не цепочка из 3х

Google
Sergey
05.04.2017
16:36:12
мне, нет, у меня один процесс, открывает xlsx по очереди в цикле, и читает (любое кол-во xlsx), и передает задачи дочернему процессу, который занимаеться рекурсивным копированием файлов

так быстрее, чем в одном процессе все делать

Sheldhur
05.04.2017
16:37:00
да бле

Sergey
05.04.2017
16:37:02
но можно кнш и в одном все делать

Sheldhur
05.04.2017
16:37:05
я не про это



вот эти 3 процесса можно убрать? или они жизненно важны?

Sergey
05.04.2017
16:39:35
ну, электрон при старте 3 процесса заводит для себя

Sheldhur
05.04.2017
16:39:46
они же как-то с рендером окна связаны, а у меня всё равно ничего не рендерится

Sergey
05.04.2017
16:40:30
всм? ты сломал електрон?

скорее всего просто в коде где-то ошибся

Sheldhur
05.04.2017
16:41:25
чё сломал

Sergey
05.04.2017
16:41:39
ты у меня спрашиваешь?)

Google
Sheldhur
05.04.2017
16:41:42
спавню так .\node_modules\electron\dist\electron.exe -r babel-register -r babel-register ./app/database/workers/DataSetWorker.js

Roman
05.04.2017
16:42:06
электрон вместо ноды?

Sheldhur
05.04.2017
16:42:11
ога

Sergey
05.04.2017
16:42:44
вернемся к старому вопросу, а почему спавн а не форк?)

Roman
05.04.2017
16:42:44
ну ок. раз осознано, то говорить тут нечего

Sergey
05.04.2017
16:43:21
я просто форкаю, все раб, спавнить в електроне не пробовал

Sheldhur
05.04.2017
16:43:29
вернемся к старому вопросу, а почему спавн а не форк?)
написано, что спавн для большого объема данных лучше, чем хз

ну ок. раз осознано, то говорить тут нечего
ну а как иначе воркер запустить в электроне? у пользователя то не будет ноды, только приложуха

Sergey
05.04.2017
16:44:16
написано, что спавн для большого объема данных лучше, чем хз
это по сравнению с exec, но с форком эти два метода не сравниваються

Sheldhur
05.04.2017
16:44:48
короче не суть, я спрашивал про то как убрать 3 дочерних процесса

ты когда форкаешь, у тебя они тоже создаются?

Sergey
05.04.2017
16:45:08
у тебя fork будет запускать еще один екземпляр электрона)

и даже после компиляции

Sheldhur
05.04.2017
16:45:22
так и спавн тоже самое делает

Sergey
05.04.2017
16:45:38
тык, в чем проблема тогда?

если все раб

Sergey
05.04.2017
16:47:10
если это ты их запустил, то можешь их убить либо из родителя child.kill() либо из самого процесса, proccess.exit()

Google
Sergey
05.04.2017
16:47:53
а зачем?

тогда не чего работать не будет

Sheldhur
05.04.2017
16:48:27
а нахрен они? они только за рендер отвечают, на сколько я понял

по крайней мере 2 точно

Roman
05.04.2017
16:48:50
ну а как иначе воркер запустить в электроне? у пользователя то не будет ноды, только приложуха
юзаешь электрон, как ноду операясь на эту переменную? https://github.com/electron/electron/blob/v0.36.7/docs/api/environment-variables.md#electron_run_as_node

Sheldhur
05.04.2017
16:48:50
а окно не рендерится

гм...надо попробовать

Sergey
05.04.2017
16:51:59
мне кажеться твой спавн не будет работать после компиляции

Roman
05.04.2017
16:52:09
круто :)

Sheldhur
05.04.2017
16:52:42
будет, это тот же самый форк, только форк по умолчанию пробрасывает rpc

Sergey
05.04.2017
16:53:44
смотри, когда ты запускаешь електрон, он создает три процесса, когда ты делаешь спавн електрона, он запустит еше три и так далее

Sheldhur
05.04.2017
16:53:44
пути для воркера и электрона в продакшене подправить и всё будет работать

Sergey
05.04.2017
16:54:50
смотри, когда ты запускаешь електрон, он создает три процесса, когда ты делаешь спавн електрона, он запустит еше три и так далее
а когда делаешь форк, то ты не запускаешь еще один електрон с тремя процессами, а всего лишь один процесс ноды

Sheldhur
05.04.2017
16:55:16
ты же сам выше говорил, что у тебя 3 процесса спавнится

Sergey
05.04.2017
16:55:43
пути для воркера и электрона в продакшене подправить и всё будет работать
я тестил, с форком все норм работает, попробуй свой спавн затестить после сборки

так, это мои процессы, это я их создал, и конралирую их всех

Sheldhur
05.04.2017
16:56:24
да всё будет работать, у вас траблы с путями к электрону и воркеру были

это точно так же и в спавне решается

Google
Sheldhur
05.04.2017
16:56:48
я тоже их контролю

захотел открыл, захотел закрыл

Sergey
05.04.2017
16:57:48
ну так твой спавн, порождает 3 просесса, 2 рендер и 1 ноду, зачем тебе лишнии 2 рендера?

Sheldhur
05.04.2017
16:57:56
бля

ты же сам сказал, что когда форкаешь, что у тебя тоже 3 процесса

Sergey
05.04.2017
16:58:23
бля, это мои процессы

я могу и один запустить

Sheldhur
05.04.2017
16:58:33
ты 3 форка делаешь?

Sergey
05.04.2017
16:58:36
а ты не можешь

Sheldhur
05.04.2017
16:58:49
почему? вот запустил один

Sergey
05.04.2017
16:58:58
и породилось три

Sheldhur
05.04.2017
16:59:19


Sergey
05.04.2017
17:00:31


Sheldhur
05.04.2017
17:00:53
ну и всё :) всё тоже самое со спавном

ну зачем, нормально же общались ?

Сергей
05.04.2017
17:03:23
Давайте без спама стикерами

Sergey
05.04.2017
17:04:10
Давайте без спама стикерами
объясни ему, что ему не нужно спавнить електрон, а нужно форкать ноду из електрона

Sergey
05.04.2017
17:04:58
ну лан, как скомпилишь, поделись опытом

Sheldhur
05.04.2017
17:05:46
окай

Google
Сергей
05.04.2017
17:06:00
Не надо полотна

Не читабельно же

Sheldhur
05.04.2017
17:06:16
ну ты же сам постил это плотно ?

Сергей
05.04.2017
17:06:42
Sergey
05.04.2017
17:07:58
спавн, может запустить все что угодно, а форк только экземпляр ноды

если тебе нужен еще один экземпляр ноды, то форк будет лучше работать чем спавн

Sheldhur
05.04.2017
17:08:55
ну с ELECTRON_RUN_AS_NODE он и запускает как ноду

Sergey
05.04.2017
17:09:50
через спавн, ты не можешь общаться с дочерним процессом, ты можешь только при старте передать ему параметры запуска

Sheldhur
05.04.2017
17:10:02
ДА ЛАДНО

Sergey
05.04.2017
17:10:06
через форк - можно

Sheldhur
05.04.2017
17:10:11
как же я тогда результат получаю

Sergey
05.04.2017
17:10:38
через child.stout.on(data

Sheldhur
05.04.2017
17:11:01
ну

а через форк ты как общаешься?

я точно также делаю child.on('message'), child.send(), process.send()

Sergey
05.04.2017
17:13:48
- родитель отправлять child.send( {type:"yourComand", data: yourData} ) получать child.on('message', data =>{}) - ребенок получать process.on('message', data => { switch(data.type){} }) отправлять process.send( {type:"yourComand", data: yourData} )

Страница 22 из 177