Александр
Как-то так https://pp.userapi.com/c636325/v636325608/58c34/dHmoee9AhdI.jpg 😃
Dan
коллеги
Dan
кто уже интегрировал GraphQL в ларавель?
Константин
Dan
Gabit
Посоветуйте деплой под laravel
Алексей
deployer
Gabit
Alexander
Всем привет
Alexander
кто-нить использует intervention.image/imagecache?
Alexander
понять не могу как он работает
Alexander
в какой момент сознаются все миниатюры по щаблонам и где хранятся
Anonymous
https://www.sitepoint.com/android-elephpant-laravel-android-phone/
Anonymous
Пакет форума посоветуете какой-нибудь?
Dan
осталось только полпакета
Igor
Народ помогите. Такой вопрос: Возможно ли из валидатора получить массив непройденых валидационных правил? Пример: ["email": ["required", "email"], "password": ["required"], "data_key": ["not_passed_rule"]]
Igor
Igor
сейчас могу только получить только
Igor
такой обьект
Igor
а хочеться вместо текста сообщения
Igor
получить ключ
Igor
ну не совсем
Igor
на входе имею только инстанс Валидатора
Igor
у него внутри только messageBag
Denis
Народ, подскажите что за ошибка, в гугле такой ошибки не находит
Denis
Denis
Если на перехожу просто на диск C, то код ошибки меняется
Denis
Dmitriy
Прав скорее всего нет
Denis
ну я админ
Denis
или каких прав?
Евгений
Так хотелось толсто пошутить, но я сдержался, посоны!
Евгений
Не будет вам шутки!
Denis
почему?
Евгений
а ты с какой целью интересуешься?
Евгений
ну тебе же пользоваться, ты и выбирай
Denis
понял, спс
Schrödingercat
ребят, глупый вопрос - сейчас в Laravel mix как-то можно свг спрайты собирать? или это просто нужно отдельный плагин для вебпака поставить? а то меня гугл отправляет на старые версии Elixir
Stanislav
с Redis кто знаком? Есть таблица 1.3 миллиона записей. Надо занести id и value в редис для быстрой выборки, чтобы бд не грузить. Так вот. Я получаю данные chunk (так как память выходит за пределы), редис заполняю чере pipeline. так вот зараза, он как бы проходит по всем значениям. но в редис записываются не все. А например из 100к всего 73к. И приходитится еще много раз вызывать процедуру чтобы добить до конца )))) как будто пререывается выполнение следующей итерацией
Stanislav
\DB::connection('infodb')->table('marks')->select('id','status')->chunk(100000, function ($marks) use($i) {
\Redis::pipeline(function($pipe) use($marks,$i) {
dd($pipe);
foreach ($marks as $mark) {
$i++;
$pipe->set($mark->id, $mark->status);
}
echo $i.'<br />';
});
Stanislav
без dd )
Евгений
То есть хочешь кешировать результат запроса к базе?
Евгений
Или нет
Stanislav
да
Stanislav
мне для быстрой фильтрации нужно
Евгений
Ну я сейчас то же самое делаю
Евгений
Только не редиска
Евгений
А чо там по дефолту в ларе для кеша
Евгений
Файлы кажется
Евгений
И пакет заюзал для Кеша запросов
Евгений
Т9 бесит
Stanislav
я вот не знаю, почему редис так делает. чем меньше chunk, тем больше не попадает в редис. или это чанк виноват )
Stanislav
я с ним только сегодня познакомился )
Stanislav
не понял, в выборке использовать транзакции? DB::transaction ?
Юрий
у редиса есть транзакции
Юрий
почему именно пайплайн выбран?
Юрий
https://redis.io/topics/transactions
Юрий
на вставке куда большими объемами транзакции отрабатывали идеально ничего не теряя
Stanislav
изначально было так:
Stanislav
$marks = \DB::connection('infodb')->table('marks')->select('id','status')->get();
\Redis::pipeline(function($pipe) use($marks,$i) {
foreach ($marks as $mark) {
$i++;
$pipe->set($mark->id, $mark->status);
}
echo $i;
});
Юрий
value сильно большое? сколько весит 1.3 млн id/value примерно?
Stanislav
db0:keys=1359430,expires=0,avg_ttl=0
used_memory_human:79.01M
Но скрипт часто падает, что ему памяти не хватает
Stanislav
лимит у php 1024
Юрий
в общем в любом случае сколько бы не весило - начинай транзакцию в редис, получай данные чанками с бд, после получения ставь в очередь редиса и при завершении получения данных только делай экзекьют транзакции. ничего не должно упасть на транзакции. а на пайплайне вероятно не успевает все распарсить, хотя конечно маловероятно.
Stanislav
value integer 1-25\
Юрий
первый раз вообще слышу чтобы редис что-то терял, при условии что ему это конечно отправляли
Юрий
посмотри в статистике редиса после обнуления сколько обращений было фактически, может позволит найти причину
Stanislav
ок. спасибо, посмотрю
Stanislav
Проверил, по total_commands_processed видно, что серверу поступило количество команд, равное правильному количесту необходимых записей. (на 2 различается, 103265). А в бд редиса попало только 73173. Буду транзакции пробовать.
Юрий
интересно. а данные точно уникальные?
Stanislav
да, идентификатор в бд
Stanislav
c multi и exec тоже самое (
Anonymous
можно-ли в middleware $except как-то передать алиас?
Stanislav
Нашел проблему. Это chunk виноват.
Stanislav
происходит непонятная вещь, что чанками получается массив с неуникальными значениями.
Stanislav
$redis->multi();
\DB::connection('infodb')->table('marks')->select('id', 'status')->chunk(30000, function ($marks) use (&$redis,& $i, &$ar) {
foreach ($marks as $mark) {
$ar[] = $mark->id;
$i++;
$redis->set($mark->id, $mark->status);
}
echo $i . '<br />';
});
$a = array_unique($ar);
echo count($a);
echo count($ar);
$redis->exec();
Stanislav
НАШЕЛ РЕШЕНИЕ!
Юрий
?
Stanislav
Связано ли с тем, что используется postgresql, но chunk нормально работает только с orderby