@laravel_pro

Страница 1411 из 2014
\/
28.05.2018
07:52:26
Rabbit заюзать, для очередей, как вариант. Там и стаистика, и графики будут.
ну если в "родном" horizon так - что меня ждет еще в раббите)

Maksim (Ellrion)
28.05.2018
07:52:29
а как через шедулер вызвать в беке?
->command('...')->runInBackground()->withoutOverlapping()->...

\/
28.05.2018
07:52:55
runInBackground не вижу в мануале такого(

Subb98
28.05.2018
07:53:03
ну если в "родном" horizon так - что меня ждет еще в раббите)
Хз, юзал его на кастомном проекте (там сайлекс был вообще), всё ОК было.

Google
Subb98
28.05.2018
07:53:24
Сложность только в том, чтобы прикрутить.

\/
28.05.2018
07:55:29
https://laravel.com/api/5.6/Illuminate/Console/Scheduling/Event.html#method_runInBackground

вижу

Maksim (Ellrion)
28.05.2018
07:55:50
runInBackground не вижу в мануале такого(
раньше все команды по дефолту так и запускались, ломаться начало с 5.2 версии. грахем пидр ввели келбеки, стали запускаться в бекграунде только если нет келбеков, дальше больше, в итоге получилась фигня. имхо неприятно ожидать такое поведение как сейчас от планеровщика.

Subb98
28.05.2018
07:56:27
То есть, всё-таки, лучше юзать сторонние инструменты.

Чтобы не было "нежданчиков"

Maksim (Ellrion)
28.05.2018
07:57:34
ну нежданчиков бояться - лару не юзать

\/
28.05.2018
07:57:46
конечно теперь так мне и очередь не нужна - мьютекс будет в команде

Subb98
28.05.2018
07:57:58
Ну не могу сказать, что тут всё настолько непредсказуемо )

\/
28.05.2018
07:58:25
жаль, что с очередью такая засада - тривиальная вещь, что нужно не более чем N задач в воркере и лажает

Subb98
28.05.2018
08:02:27
https://packagist.org/packages/spinx/sidekiq-job-php

Попробуй вот этот пакет, как вариант

sidekiq - это рельсовый планировщик.

Google
Subb98
28.05.2018
08:03:16
Вроде, годно работает, по крайней мере, не слышал, чтобы на него были жалобы.

П.с.: а, он для сфинкса, похоже. Тогда глянь, есть ли похожие.

\/
28.05.2018
08:04:39
так проблема в очереди, а не шедулере

Subb98
28.05.2018
08:06:13
Не в этом ли проблема?

$schedule->job тоже запускает синхронно, если job длинный, то все фризит

Я подумал, что тебе нужен асинхронный запуск, не?

\/
28.05.2018
08:08:25
это было как вариант решения проблемы с запусками, но не очередью

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

dev
28.05.2018
08:31:30
твой код как то выглядит будто это "чекер" пустоты очереди.. и если пусто - вновь создавать задачу

\/
28.05.2018
08:36:23
ну мне так и надо(

$schedule ->call(function () { if (Queue::size('test_queue') == 0) dispatch(new TestJob())->onQueue('test_queue'); }) ->everyMinute();

вот такой код заработал

Vitaliy
28.05.2018
08:37:31
Есть у кого что почитать по проектированию масштабируемых систем? У меня будет нное кол-во сторейджей и воркеры которые будут обрабатывать то, что на них хранится и я не знаю как все это организовать, что бы потом без боли можно было еще 1 сторейдж доставить или еще 1 машину с воркерами добавить. И что бы при программировании не думать о сторейджах вообще, что бы все прозрачно было?

\/
28.05.2018
08:39:03
интересная тема - я бы тоже почитал - только как множить воркеры на другие серваки, если уперся в память и проц

$schedule ->call(function () { if (Queue::size('test_queue') == 0) dispatch(new TestJob())->onQueue('test_queue'); }) ->everyMinute();
причем я по дефолту нигде сначала коннект в редис не прописывал, только для проверки длины очереди сделал так - это специально на случай если я задачу не в тот воркер отправлю

Alex
28.05.2018
09:25:32
Привет. $companies = Cache::remember('companies', 120, function () { return Companies::paginate(2); }); Пагинация не будет работать с кешем?

Всегда возвращает первые 2 записи

Maksim (Ellrion)
28.05.2018
09:29:01
ну как бы логично. для кэша пагинации надо писать не особо тривиальный код

ну в самом простом варианте можешь написать $companies = Cache::remember('companies-' . Paginator::resolveCurrentPage(), 120, function () { return Companies::paginate(2); });

Google
Max
28.05.2018
09:35:48
Ребята, нужен совет Разрабатываю SPA приложение, используется lodash шаблонизатор, в чем проблема: Есть лист айтемов, апи по умолчанию не присылает нужный мне статус - он расчитывается по данным которые апи присылает Айтемов много и для оптимизации, что бы не гонять цикл в контролере, я создаю статус для каждого айтема в вьюхе, так как цикл там и так уже гоняется Код выглядит не красиво, но на оптимизации сказывается хорошо, что можете посоветовать, так и оставлять или как-то переписывать?

Антон
28.05.2018
09:39:59
включить здравый смысл

Maksim (Ellrion)
28.05.2018
09:40:34
это сколько же айтемов должно прилетать что 1 лишний цикл по ним дает падениет в скорости

Max
28.05.2018
09:41:18
тысяч 10 Вложеность циклов большая

Maksim (Ellrion)
28.05.2018
09:41:48
10 тысяч чего то шаблонизируется? оО

Adel
28.05.2018
09:41:49
о... 10к записей гонять. красавец :)

Max
28.05.2018
09:43:25
Я привязан к апихе, могу работать только с таким видом данных, которые мне прилетают

Varyen
28.05.2018
09:44:21
ты же можешь с апи работать на бекенде и возвращать только то, что нужно тебе если все 10к не нужны?

Timur
28.05.2018
09:44:44
всем привет

кто нибудь vuex подключал не глобально, а на той странице, на которой надо?

Артур
28.05.2018
09:46:21


для всех статусов прописывать страницы? Или есть универсальный рецепт

Maksim (Ellrion)
28.05.2018
09:48:10
какую "нормальную" страницу?

Артур
28.05.2018
09:48:31
http, ну а если json - то json ответ об ошибке

Сам обработчик могу повесить, но может есть параметр волшебный в параметрах

Георгий
28.05.2018
09:49:19
http, ну а если json - то json ответ об ошибке
Ты хочешь в отладочном режиме видеть страницы ошибок так как это было бы видно не в отладочном?

Maksim (Ellrion)
28.05.2018
09:49:27
я всё еще не понял тебя. но мб у кого то дешифратор лучше

Maksim (Ellrion)
28.05.2018
09:49:57
да
почему бы тогда просто не выключить отладочный режим?)

Артур
28.05.2018
09:50:18
потому что все кроме HttpException мне критично смотреть

Google
Артур
28.05.2018
09:53:21
Проще говоря: Я могу засунуть в Exceptions/Handler.php свой рендер с четким инстансом. Есть ли предустановленная константа, которая сама регулирует тип ошибок и реакцию на него?

Если нет, тогда это не велосипед. Если есть, тогда зачем писать еще раз

Артур
28.05.2018
09:56:43
ну там опирается на config('app.debug')
чтобы еще раз не писать обработку. Мне же надо на 4xx ошибки реагировать визуальной страницей с номером ошибки и прочими радостями, а не "whopps page"



Maksim (Ellrion)
28.05.2018
09:58:11
чтобы еще раз не писать обработку. Мне же надо на 4xx ошибки реагировать визуальной страницей с номером ошибки и прочими радостями, а не "whopps page"
ты и так реагируешь не этой страницей а страницей из шаблона на прод режиме. надо отладить саму вьюху - выруби дебаг посмотри вьюху. всё

Admin
ERROR: S client not available

Артур
28.05.2018
09:58:28
вот так она без дебага выглядит

В любом случае спасибо

Я сейчас просто накрою render своими правилами

Maksim (Ellrion)
28.05.2018
10:00:52
вот так она без дебага выглядит
просто правишь шаблон errors/404 и всё

Артур
28.05.2018
10:01:27
в папке таколго нет (

может до меня удалили

Спасибо, сейчас буду смотреть

Maksim (Ellrion)
28.05.2018
10:03:30
Спасибо, сейчас буду смотреть
https://laravel.com/docs/5.6/errors#custom-http-error-pages

Liv
28.05.2018
10:51:44
нужен совет. Задача: организовать разноплановую фильтрацию данных, по примеру интернет-магазина. Например, магазин корпусной мебели. Пользователь должен иметь возможность фильтровать по производителю, материалу, цвету, цене, форме (угловой шкаф или прямой) и т.д. Как организовать данные для подобной фильтрации в БД?

Liv
28.05.2018
10:54:16
Maksim
28.05.2018
10:54:39
Фильтрации через РСУБД в ИМ(особенно если атрибуты через EAV Model) то занятие такое, неблагодарное :)

Google
Maksim
28.05.2018
10:55:00
я хз как это )
Извини, мне нечем помочь. Я дал удочку, рыбку сам учись ловить :)

Liv
28.05.2018
10:55:37
ок, спс

Антон
28.05.2018
10:57:25
postgresql json

elasticsearch +

Liv
28.05.2018
11:03:09
postgre хрен прикрутишь - проекту более года, живет он на MySQL, товары уже давно есть, а сейчас возникла задача сделать глубокую фильтрацию

Liv
28.05.2018
11:07:33
Так засунь всё в эластик и получи оч быстрый поиск =)
всё - это всю существующую БД чтоли?

Maksim
28.05.2018
11:08:19
всё - это всю существующую БД чтоли?
Эластик это No-SQL, туда просто документы кладёшь и затем поиск фигачишь.

Антон
28.05.2018
11:08:23
всё - это всю существующую БД чтоли?
ну не всю. товары, категории

Maksim
28.05.2018
11:08:53
бери эластик. мне оч понравился
++, он няша. Особенно, после того как познал ад в сфинксе, эластик - глоток свежего горного альпийского воздуха!

Антон
28.05.2018
11:08:56
но потрудиться придется полюбому. понять как работает эластик

та что дока

Liv
28.05.2018
11:09:49
доки эластика хватит или еще что-то почитать/посмотреть надо?

Антон
28.05.2018
11:10:05
дока исчерпывающая.

Maksim
28.05.2018
11:10:41
но потрудиться придется полюбому. понять как работает эластик
Пфф... На сфинксе нужен был нечеткий поиск, пришлось городить триграммы и поиск через quorum operator с фильтрацией через расстояние левенштейна, В ЭЛАСТИКЕ ЭТО ИЗ КОРОБКИ И ОДНИМ КОНФИГОМ ПО ИНДЕКСУ ДЕЛАЕТСЯ :)

Страница 1411 из 2014