
Дмитрий
19.04.2018
07:41:11
Я не уверен что так принято, но это само простое решение

Семен
19.04.2018
07:41:53
Нода же хороша тем, что ты можешь манипулировать ивентлупом и обрабатывать процесс по частям, маленькую часть в этом цикле обработал, для всех пользователей, в следующем цикле еще одну часть,
https://blog.scottnonnenberg.com/breaking-the-node-js-event-loop/

Alexander
19.04.2018
07:42:34

Егор
19.04.2018
07:42:39
Народ всем привет! Вопрос по Sequlize.
Работаю над проектом, в котором все модели в базе имеют createdAt и udpatedAt по умолчанию. В файлах моделей и миграциях они не прпоисаны.
Создаю свою модель, и эти поля, помимо моих объявленных полей с типами, не создались. Знает кто-нибудь, может быть нужно выставить timestamps: true где-нибудь?

Google

Alexander
19.04.2018
07:43:21

Дмитрий
19.04.2018
07:44:02
Есть например napa.js, но у неё потоки очень кастрированные
Есть всякие микросервисы

Семен
19.04.2018
07:45:56

Дмитрий
19.04.2018
07:46:31

Семен
19.04.2018
07:50:41
Обработка данных
Её всегда можно пробовать бить на куски. Тут зависит от конкретной задачи

Дмитрий
19.04.2018
07:51:22

Alexander
19.04.2018
07:56:42
Её всегда можно пробовать бить на куски. Тут зависит от конкретной задачи
асинхронность и многопоточность это разные вещи. Представь, бывают такие ситуации, вот у меня обработка данных занимает 30 секунд, не связь с базой и т.д., а читый синхронный код. Как блин я её по кускам буду рубить и зачем? Руби или не руби, а выполнять всё это всё равно придётся и рано или поздно ивент луп подойдёт к выполнению этой операции, а значит завесит всё к чертям. Тут на помощь приходит многопоточность, что в принципе я и искал.

?
19.04.2018
07:57:26

Alexander
19.04.2018
07:58:02
Да будет срач!

Юрий
19.04.2018
07:58:45

Alexander
19.04.2018
08:00:02
Есть например napa.js, но у неё потоки очень кастрированные

Google

Yurii
19.04.2018
08:00:33

Andriy
19.04.2018
08:02:55

Alexander
19.04.2018
08:03:22

Andriy
19.04.2018
08:03:37
Многопоточность в вебе - это очень сложно. Представь что у тебя 1000 запросов пришло, то у тебя 1000 потоков. Сервер сгорит просто.

Alexander
19.04.2018
08:03:45

Yurii
19.04.2018
08:03:53

Andriy
19.04.2018
08:04:06
К тому же тебе надо уведомить юзера о прогрессе например загрузки фото или видео.
Такие вещи делаются синхронно.

Yurii
19.04.2018
08:04:33
у тебя проблема, что Event loop будет блокирован, чтобы он не был блокирован - делай асинхронно. Элементарно же

Andriy
19.04.2018
08:04:35
Хочешь выносить. - используешь queue

Sergey
19.04.2018
08:04:37

Andriy
19.04.2018
08:04:51

Yaroslav
19.04.2018
08:04:53
вроде Go умеет, но суть не в этом
go умеет, но там язык компилируемый.
вам может помочь многопроцессность, с помощью p2m к примеру можно поднять несколько нод и балансить их.

Sergey
19.04.2018
08:05:28
Да ты что?
Хотя бы почитай как реализовано чтение файлов в node

Yurii
19.04.2018
08:05:44

Yaroslav
19.04.2018
08:06:51
об распределении нагрузки

Alexander
19.04.2018
08:06:59

Труба
19.04.2018
08:07:13
Если я правильно вас понял, для управления патоками данных можно использовать rxjs.

Google

Andriy
19.04.2018
08:07:13
Насчет многопоточности в php
То же и в других языках

Владимир
19.04.2018
08:07:44

Andriy
19.04.2018
08:07:59
Я пповодил research в этом направлении

Alexander
19.04.2018
08:08:04

Andriy
19.04.2018
08:08:37
Все что я понял - если у тебя не go - забудт про многопоточность в контексте веба

Дмитрий
19.04.2018
08:08:54

Sergey
19.04.2018
08:08:58
Это про php-fpm, а не про php

Alexander
19.04.2018
08:09:15

Yurii
19.04.2018
08:09:33

Andriy
19.04.2018
08:09:36

Andriy
19.04.2018
08:09:52

Yurii
19.04.2018
08:10:15

Sergey
19.04.2018
08:10:44
Andriy
Ты видать не представляешь как работает php

Alexander
19.04.2018
08:10:45
писать асинхронно ?
асинхронность это когда куски кода выполняются не подряд друг за другом, а когда они могут тусоваться между собой, грубо говоря. Это никак не создаёт того, что они выполняются параллельно.

Yurii
19.04.2018
08:11:26
Всмысле
ну тут, наверное, о том, что на сервере php запускается с веб-сервиса (apache, nginx) а не в чистом виде и сами веб-сервисы запускают в новом потоке выполнение скрипта

Andriy
19.04.2018
08:11:33
Проводя много времери на research, когда узнал что такое нода и весь этот хайп я решил разобраться чем же оеа так хороша

Google

Yurii
19.04.2018
08:12:08

Andriy
19.04.2018
08:12:36
Оказалось что нода это не так уж круто как все хайпают на нее

Yurii
19.04.2018
08:12:45

Alexander
19.04.2018
08:12:52

Дмитрий
19.04.2018
08:13:31
Обьясни мне
Пхп каждый запрос в своём потоке обрабатывается
Ну если это fpm

Andriy
19.04.2018
08:14:01
Весь кайф в event driven development и том что более эффективно тратиться процессорное время. Но подумаешь оно тратиься на 30% эффективнее

Yurii
19.04.2018
08:14:02

Дмитрий
19.04.2018
08:14:04
И тогда возможна ситуация когда приходит 20 тяжёлых запросов и всё зависает ибо воркеры кончаются

Admin
ERROR: S client not available

Andriy
19.04.2018
08:14:50

Дмитрий
19.04.2018
08:15:14
И даже если есть просто долгие запросы, например обращение к другому приложению. Ибо в php нет асинэроности

Andriy
19.04.2018
08:18:20

Sergey
19.04.2018
08:18:56
Всмысле
Есть язык (python, pho, Ruby), есть интерпретатор (cpython, jython, php, hhvm, для руби тоже что-то есть), есть сервер приложения (hhvm, php-fpm, uwsgi, gunicorn, unicorn, passenger) и уже после этого идёт веб сервер.
Скриншот который ты привёл, в рамках php описывает только php-fpm


Andriy
19.04.2018
08:19:21
В третьих процессор простаивает только во время коннекта к бд, но он так же тратит ресурсы на выборку с бд
Есть язык (python, pho, Ruby), есть интерпретатор (cpython, jython, php, hhvm, для руби тоже что-то есть), есть сервер приложения (hhvm, php-fpm, uwsgi, gunicorn, unicorn, passenger) и уже после этого идёт веб сервер.
Скриншот который ты привёл, в рамках php описывает только php-fpm
Ну да
Есть язык (python, pho, Ruby), есть интерпретатор (cpython, jython, php, hhvm, для руби тоже что-то есть), есть сервер приложения (hhvm, php-fpm, uwsgi, gunicorn, unicorn, passenger) и уже после этого идёт веб сервер.
Скриншот который ты привёл, в рамках php описывает только php-fpm
Я же говорю про многопоточность в контексте веб приложений

Sergey
19.04.2018
08:21:15
И это будет веб приложение

Google

Andriy
19.04.2018
08:22:09
Но это же не рационально

Morsik
19.04.2018
08:23:55

Piu
19.04.2018
08:25:59

Дмитрий
19.04.2018
08:26:58

Alexander
19.04.2018
08:31:16
что в итоге порешали? переходим на php?

Cenator
19.04.2018
08:31:52
Нет

Andriy
19.04.2018
08:32:22
Порешали то что не надо его гнобить)

Cenator
19.04.2018
08:32:40
Надо

Andriy
19.04.2018
08:32:50
Аргументируй)

??
19.04.2018
08:33:31
На python

Vitaliy
19.04.2018
08:35:49

Andriy
19.04.2018
08:36:37
Кстати, если вы думаете что node с его loop особенный, то знайте, что event loop можно сделать на любом языке. В php этонапример reActPHP или AMP. Вопрос только в целесообразности.

Dzmitry
19.04.2018
08:37:22

Vitaliy
19.04.2018
08:37:36
можно у джаве(фу) делать многопоточно, но зочем

Yurii
19.04.2018
08:37:37

Andriy
19.04.2018
08:37:55
В этом то и дело, незачем

Vitaliy
19.04.2018
08:38:16
ну foreach так реализован, ему на await пох

Harry
19.04.2018
08:38:57

Alexander
19.04.2018
08:39:03
это тоже бред

Vitaliy
19.04.2018
08:39:22
типо [].forEach()
`for (let i = 0; i< [].length;i ++) {
calback([i])
}`