Andrey
Ну я ж говорю, закинуть операции над sql в очередь
Andrey
да
invariance
мне интересно, как оно паралелится
Pin
а зачем вообще супервизор?
чтобы поднимал, когда падает
Pin
:3
invariance
ясно
Andrey
Так в конфиге supervidora ты настраиваешь кол-во потоков
invariance
хмм
invariance
ясно)
invariance
спасибо
Andrey
invariance
понял, респект вообще)
Pin
т.к демонизация в пхп слабенькая, листенеры в ларавеле могут падать, супервизор следит за листенерами и переподнимает их, когда они падают
invariance
понятно
invariance
ну у меня эти джобы без демона
invariance
придется демон задать, что бы параллелизацию врубить?
invariance
или как
Andrey
Я немного не понял. Что значит "джобы без демона"
Pin
я если честно начало треда пропустил, так что не могу подсказать, зависит от того что ты хочешь сделать..
Anton
А как джобы разбираются у тебя?
invariance
Я немного не понял. Что значит "джобы без демона"
не, в смысле есть же job демонизируемый, а есть нет
invariance
вот у меня тот, который воркер - демонизируемый
invariance
а вот эти мелкие джобы на запись в бд - получается нет
invariance
или я что то путаю?
Юрий
Фолли, а у тебя постгрес? Есть репликация хотя бы мастер-слейв? Ты своими апдейтами не блочишь остальным работу с базой?
invariance
постгря, да
invariance
так что думаю там внутри умный механизм блокировки юзается
Юрий
Сделай репликацию нативную и pgpool в качестве балансера перед репликами, и экспериментируй с мастером насчет нагрузки на запись)
invariance
спасибо, ну это на потом
invariance
пока что особо не до этого =\
Юрий
Ну я в том смысле, что ты мог бы вообще не париться, сделать этот апдейт чанками по 1000 записей безо всяких джобов за полчаса. А то уже вторую неделю паришься)
invariance
а под каждую очередь надо свой листенер поднимать?
Anton
Ты можешь один листенер на несколько очередей подписать
Anton
через запятую просто указываешь их
invariance
понял
invariance
спасибо
Alexander
объясните пожалуйста, в чем отличие $request->get() от ->input()
Alexander
Вроде как одно и тоже /** * Get an item from the input data. * * This method is used for all request verbs (GET, POST, PUT, and DELETE) * * @param string $key * @param mixed $default * @return mixed */ public static function get($key = null, $default = null) { return static::$app['request']->input($key, $default); }
Arthur'); DROP TABLE Users;--
просто алиас
Arthur'); DROP TABLE Users;--
как с take и limit
Arthur'); DROP TABLE Users;--
лучше напрямую использовать limit но если проектированием занимаешься или новичек то лучше "красивые названия" использовать
Arthur'); DROP TABLE Users;--
так же как и Facades - для проектирования и обучения, серьезные ларавелисты их не используют
Andrey
input умеет понимать точки
Andrey
а , гет инпут вызывает? я как-то не смотрел даже
Andrey
Вроде get не умеет в точки же
Alexander
это откуда код?
vendor/laravel/framework/src/Illuminate/Support/Facades/Input.php
Andrey
так это фасад Input, а не метод input класса Request
Andrey
я не так вопрос прочитал)
Andrey
Думал разница $request->get() vs $request->input()
Andrey
Я его не использую, всегда $request инъектирую
Игорь
Прошу прощения за глупый вопрос, скажите как вот эта кодировка называется а то даже незнаю как правильно загуглить про это. \u0424\u0430\u0439\u043b Это api возвращает русский текст
Dmitry
ммм. Лара 5,5 для пыхи 7,1 онли ?
Владислав
7.0+
Георгий
"php": ">=7.0.0",
Yushkevich
Ребята, подскажите плиз. Есть структура данных такая: Модель "Шаблоны". Модель "Задачи". Модель "Варианты задачи". Шаблоны и задачи связаны как многие-ко-многим. Задачи и варианты задачи - один-ко-многим. Например, есть шаблон "Разработка лендинга". В нем есть задачи: - Дизайн - Верстка - Программирование В задаче верстки есть варианты - Адаптивная - Резиновая - Фикс Нужно связать шаблон и варианты задачи с доп данными. Например комментарий. Эти данные будут иметь значение только в контексте выбранного шаблона. Есть 2 варианта: 1) Делать таблицу с 3 ключами и доп полями для pivot данных 2) утащить все в монгу
Yushkevich
Таблица с 3 ключами - это template_id | task_id | var_id | comment
Yushkevich
но я не уверен, что eloquent это разберет нормально. Написать самому связи не проблема, но каскадные события будут лавинными. Например отвязали задачу от шаблона или добавили новую - надо продублировать для всех вариантов
Yushkevich
этим смущает. Монгу можно либо на id завязать. Но получается много запросов будет дополнительных. А если сразу "красивый массив данных" положить, то данные могут устаревать. Например, переименовали задачу.
Dmitry
даже читать не буду D
Yushkevich
Оба варианта смущают. Может есть идеи?
Andrey
Elquent умеет в morph связи
Yushkevich
даже читать не буду D
Спасибо. Это то, чего мне не хватало
Yushkevich
да тут не совсем морф
Andrey
если я правильно понял, о чем речь
Yushkevich
templates <-> task <->variants -> pivot
Yushkevich
условно templates связан с task как многие-ко многим. Но pivot данные идут в контексте вариантов а не задач
Yushkevich
такое изгаление над hasManyThrough
Dmitry
Has Many Through
Yushkevich
по сути, мне к through надо добавить pivot данные. Но как-бы through - это обертка на join насколько я понимаю механику.
Yushkevich
А как туда Pivot данные засунуть?
Yushkevich
и в какой таблице это все должно лежать?
Yushkevich
through - если я правильно понимаю, это post -> comment -> author_comment { name, country}
Dmitry
а вообще json нужно хранить
Yushkevich
и позволит нам вытащить список всех стран, которые оставили комменты к посту
Yushkevich
но не добавит туда произвольные данные
Yushkevich
на many-to-many можно к таблице добавить нужные свойства и тащить их через pivot, но это не то