Anton
many to many
Алексей
Но это не таблица связи же (в чистом виде, по крайней мере) - там ещё есть amount.
Юрий
а зачем делать отдельную таблицу вообще?
Алексей
amount?
Юрий
т.е. продукт "корзина овощей" условно состоит из "3 редиска, 2 морковь, 1 разработчик"? и нужно это хранить?
Алексей
Есть продукт "Корзина овощей". Состоит из: корзина, редиска, морковка. Сам продукт "Корзина овощей", а также продукты в "корзина", "морковка", "редиска" хранятся в Products.
Алексей
В ComposedProductProduct хранятся их айдишники с количеством.
Макс
господа подскажите пользовался ли кто нибудь indexedDB суть вопроса в том насколько геморно реализовать кросбраузерность этого способа хранения данных
Anonymous
Ребят, а где почитать про high load и laravel? Сейчас запустили сайт, примерно ~100 пользователей онлайн и php-fpm просто забивает все 8 ядер процессора. Сервер вроде как мощный купили, но че-то не то
Евгений
установи дебагбар и промониторь количество запросов к базе
Anonymous
1-5 на страницу
Anonymous
не так много, все что можно закэшировал уже
Anonymous
Я уже полтора часа играюсь с настройками) Все статьи перечитал
SarcasmIO
есть видеоуроки Scaling Laravel
https://serversforhackers.com/scaling-laravel
SarcasmIO
но перед тем как их трогать, нужно хотя бы представление заполучить что такое профайлер, потому что явно твои проблемы связанны не с Laravel
Anonymous
А есть смылс тратить 20 евро на blackfire?
Anonymous
Что вообще дает профайлинг, мне кажется тут косяк не в приложении. а в настройки php-fpm и nginx
Anonymous
где можно про это почитать?
SarcasmIO
он бесплатный, + в xdebug есть ф-ции профилирования
Anonymous
Вот как выглядит htop. Ядра нагружены, а память нет. http://prntscr.com/il0to9
Artem
io в top покажи
Artem
складывается впечатление, что проблема в диске
Anonymous
Команда?
Bohdan
Всем привет, буквально неделю назад видел прикрепленную запись с ларакастом слитым на яндексе
Bohdan
помогите найти
Bohdan
мб у кого то завалялась ссылочка
Bohdan
уже не надо)
Anonymous
Есть кто из владика?
Alexei
хало вопрос как при запросе я могу определить с какой таблицы вытащил данные, если использую запрос с нескольких таблиц ? id повторяется
Alexei
$hotels = collect(Hotel::where('special_offer_status', '=', 1)->with('special_offer_photo')->get()); $tours = collect(Tour::where('special_offer_status', '=', 1)->with('special_offer_photo')->get()); $trips = collect(Trip::where('special_offer_status', '=', 1)->with('special_offer_photo')->get()); $merged = $hotels->merge($tours)->merge($trips); return $merged; как я могу знать в мержет какок айди кому пренаджежит?
Юрий
А токен точно валидный? И у него есть нужные разрешения?
Юрий
А просто курлом из консоли ходит, как в доках приведено? curl "https://edge.qiwi.com/payment-history/v2/persons/79112223344/payments?rows=10" --header "Accept: application/json" --header "Content-Type: application/json" --header "Authorization: Bearer YUu2qw048gtdsvlk3iu"
Юрий
И Config::get() возвращает всё правильно?
Andrey
Таки что, всех с весной)
Artem
зачем в туториалах многих создают отдельный файл socket.js чтобы слушать редис и отправлять в laravel echo server? у меня вроде и без него работало
Vitaly
Если это сокет то там две части же
Vitaly
Клиент и сервер
Vitaly
Для ноды запускается сокет а для клиента настраивается клиентская логика
Vitaly
События
Egor
Всем привет. Есть консольная ларавел команда. Запускаю несколько ее экземпляров (несколько php artisan процессов) для распараллеливания обработки (чтобы было быстрее). Команды (то есть одна и та же команда, но несколько ее экземпляров) использую общий ресурс - базу данных, что вызывает конфликты/накладки. Что посоветуете? Копать семафоры?
SiZE
Если скажем залочить таблицу на 10 минут, то можно нахапать дедлоков
Victor
Всем привет! Здесь есть компетентный спец, кто сможет подсказать решение такой задачки: Есть интернет магазин, который реализовывает продукцию поставщиков. Количество поставщиков может быть большое (например, до 100), а продукции до 3000. Поставщик работает за процент с продажи - то есть, интернет-магазин берет коммиссию за проданный товар. Наример, товар стоит 100 рублей, интернет-магазин забирает 50 рублей и поставщик 50 рублей. Есть ли инструменты, которыми можно: 1. Настроить понятную статистику по выплатам поставщикам 2. Настроить сами выплаты Буду очень благодарен за советы!
Vitaliy
Был бы третий чат по ларе, и там бы спросить надо было бы
Диего
Вот тебе и диджитал агентство )
Диего
Или чо там у вас
Andrey
Если скажем залочить таблицу на 10 минут, то можно нахапать дедлоков
Лучше лочить не таблицу, а конкретную строку. База типа InnoDB это позволяет сделать.
Egor
Чуть подробнее. Команда - это парсер некоторых объектов из интернета. У объекта есть уникальный идентификатор. Идентификаторы уже собранных объектов я помещаю в кэш. Кэш в данном случае и является общим ресурсом, который юзают 5 экземпляров парсеров. Перед сохранением в БД, каждый экземпляр парсера проверяет наличие айдишника в массиве в кэше. Если айдишника нет, то он сохраняет этот объект в БД, добавляет идентификатор в массив в кэше и идет дальше. (распределить объекты по разным парсерам, чтобы они не пересекались - нельзя). Так вот, проблема возникает, когда два парсера в единомоментно работают с кэшем. Первый считал массив из кэша, второй считал массив из кэша, первый добавил айдишник в кэш, сохранил. Второй добавил айдишник в кэш, сохранил. Но айдишник от первого парсера похерился. И потом когда какой-то из парсеров снова натыкается на первй айдишник, который не был сохранен в кэш, но был объект был сохранен в БД - возникает ошибка по unique check constraint от бд при сохранении объекта и парсер падает.
Egor
Я делаю какую-то херню? :)
Александр
какой кэш юзаешь?
Egor
редис
Александр
редис
https://redis.io/topics/distlock
Illia
Не знаю в чем конфликт, но просили передать
Illia
А есть люди которые и во втором чате по ларе сидят?
Illia
Передайте там админу что он мудак пожалуйста)
Andrey
ахаха) баннхамер в действии?
Александр
Ага, есть какой то, и меня там забанили ни за что ))
Andrey
Чуть подробнее. Команда - это парсер некоторых объектов из интернета. У объекта есть уникальный идентификатор. Идентификаторы уже собранных объектов я помещаю в кэш. Кэш в данном случае и является общим ресурсом, который юзают 5 экземпляров парсеров. Перед сохранением в БД, каждый экземпляр парсера проверяет наличие айдишника в массиве в кэше. Если айдишника нет, то он сохраняет этот объект в БД, добавляет идентификатор в массив в кэше и идет дальше. (распределить объекты по разным парсерам, чтобы они не пересекались - нельзя). Так вот, проблема возникает, когда два парсера в единомоментно работают с кэшем. Первый считал массив из кэша, второй считал массив из кэша, первый добавил айдишник в кэш, сохранил. Второй добавил айдишник в кэш, сохранил. Но айдишник от первого парсера похерился. И потом когда какой-то из парсеров снова натыкается на первй айдишник, который не был сохранен в кэш, но был объект был сохранен в БД - возникает ошибка по unique check constraint от бд при сохранении объекта и парсер падает.
Я бы на твоём месте пошел с другой стороны. Сделал бы диспетчер, который бы раздавал задачу парсерам и тогда бы они не пересекались в своей работе.
Alexey
Alexey
не забанен ни в одном чате
Andrey
не забанен ни в одном чате
Городок в западно-американской степи. Салун. За столом сидят два ковбоя, местный и приезжий, и пьют виски. Вдруг по улице кто-то проносится на огромной скорости, паля во все стороны из револьверов. В салуне никто и ухом не ведёт. Приезжий местному: — Билли? — Да, Гарри? — Что это было, Билли? — Это был Неуловимый Джо, Гарри. — А почему его зовут Неуловимым Джо, Билли? — Потому что его никто ещё не поймал, Гарри. — А почему его никто ещё не поймал, Билли? — Потому, что он никому не нужен, Гарри.
Andrey
Ну да. Вот он: https://t.me/laravelrus Точнее там первый чат, а этот - второй)
Maksim
В этом чате больше свободы
Anonymous
Хуй
Maksim
Не, ну для тебя обратный отсчёт пошёл)
Владимир
Народ, ставил кто elasticsearch на хомстейде? Поставил через apt-install Добавил в автозапуск, Запустил, и вроде как он запустился, но не повис на нужный порт. И сервис при этом работает
Владимир
https://monosnap.com/file/1sdwEU8GdshtNr0LCiInTNsJQHl0UN.png
Владимир
Ну и как видно, не повис он на нужный порт https://monosnap.com/file/ysX2UkK0ACqNZzUDekOAJo9PUK4ZSR.png
Владимир
Еще и папка с логами, как назло, полностью пустая
Владимир
Не работало как с дефолтными настройками, так и когда указал все явно, что нужен мне локалхост на 9200 порту
Владимир
Кто-нибудь сталкивался с таким?
Andrey
Народ, ставил кто elasticsearch на хомстейде? Поставил через apt-install Добавил в автозапуск, Запустил, и вроде как он запустился, но не повис на нужный порт. И сервис при этом работает
Зачем ты его ставишь сам? О_О https://laravel.com/docs/5.6/homestead#installing-elasticsearch В файл Homestead.xaml добавь строку elasticsearch: 6 и будет тебе счастье. Не забудь после выполнить vagrant reload --provision
Владимир
Вот это поворот 0_о