
Алексей
11.10.2017
11:11:22
из этой же библиотеки

Andrey
11.10.2017
11:11:23
может какой нибудь \Vasya\Lalka\Exception

Алексей
11.10.2017
11:11:24
посмотрим

Igor
11.10.2017
11:11:43

Google

Алексей
11.10.2017
11:12:32
ClientException не помог, сейчас еще попробую ConnectException
если и он не прокатит
добавлю
\

Andrey
11.10.2017
11:13:14
не поможет скорее всего))
ClientException бросается если сервер ответил 4хх кодом
а у тя судя по всему вообще не подрубается

Алексей
11.10.2017
11:17:27
да ни connect ни client экспшны не помогли
сделал через
\
Все дядьки, спс. Помогло и теперь мне в консоль гадит невалидные прокси. что бы я их вычленял

Andrew
11.10.2017
11:27:24
Преобразовать данные для удобства выборки в проекцию?
там изначально выбрана неправильная БД (ну не умеет мускуль OLAP от слова совсем), поэтому эта проблема уже на проекции (если быть точным, проекциях, там почти 200 таблиц). Сервера достаточно мощные. Все простые методы уже перепробованы, пока ищу способы ускорить то что есть, пока не состоится переезд.

Google

Григорий
11.10.2017
11:28:23

Andrew
11.10.2017
11:30:46

Andrey
11.10.2017
11:41:22
Да, не умеет( поэтому и говорю что ее надо сделать самому))
Делал на одном проекте по крону)) каждый час запускалась херня которая дописывала в табличку аггрегации

Алексей
11.10.2017
11:44:53
новая проблема.
есть цикл while(true)
внутри него идет обращение к функции сторонней модели, бывает такое что модель вообще зовисает неизвестно где, как назначить таймаут на внутреннюю функцию?

Andrey
11.10.2017
11:49:44
а какого вида обращение?
в базу?
ну, просто чтоб понимать где оно зависает
просто это же не джава) в пхп просто так нельзя взять и перехватить управление))
по таймауту

Алексей
11.10.2017
11:54:25
в базу?
1. в базу
2. через Guzzle на сервис
3. в базу
4. в ВК и телеграм постинг если нужно
виснет скорее всего на Guizzl*е
там таймаут 30 сек поставлен, но чет не помогает

Andrey
11.10.2017
11:54:45
в газле поставь в опциях 'timeout'
а какой таймаут? там их штуки 3 вроде))
плюс можно прокинуть еще параметры в курл напрямую)

Алексей
11.10.2017
11:55:11
этот таймаут стоит на один request? или вообще на все подключение?
вот так вот

Google

Алексей
11.10.2017
11:55:58
мне нужно что бы ответа ждали от каждого запроса не более 5-10 сек, но не знаю на что этот таймаут распространяется в конфиге

Andrey
11.10.2017
12:11:17
там для каждого отдельно это действует запроса, есть connect_timeout, read_timeout и просто timeout )
попробуй все их как нить заполнить авось поможет
и еще любую опцию курловскую можно вот так запихнуть:
$options['config']['curl']['CURLOPT_TIMEOUT_MS'] = 1000; $client->post('...', $options);

F01134H
11.10.2017
14:03:10
Вопрос конечно ебанутый
но нормальная ли практика - юзать интерфейс чисто для хранения констант?

Alexander
11.10.2017
14:03:52
и в правду ебанутый)

F01134H
11.10.2017
14:04:35
потому что
а) трейты не поддерживают
б) класс нужно инжектить предварительно, что несколько ограничивает в использовании констант

Андрей
11.10.2017
14:06:44
https://habrahabr.ru/post/328890/

Артур Евгеньевич
11.10.2017
14:10:05
https://www.google.ru/search?q=интерфейсы+для+хранения+констант&oq=интерфейсы+для+хранения+констант&aqs=chrome..69i57.7331j0j7&client=ms-android-samsung-ss&sourceid=chrome-mobile&ie=UTF-8
У меня в коде констант вообще нет почти
Так как это хардкод
Все значения инджекчу в контейнер из конфигов

F01134H
11.10.2017
14:13:29
а конфиги не хардкод? :D
а если у меня константа для числа пи
использование констант имеет место быть, это даже не обсуждается

Evgeniy
11.10.2017
14:14:41
так ты сделай метод по высчитываюнию числа пи до нужного знака на js

$iD
11.10.2017
14:14:45

Google

Evgeniy
11.10.2017
14:14:47
чтобы нагрузить процессор)

$iD
11.10.2017
14:14:50
?

F01134H
11.10.2017
14:15:00

$iD
11.10.2017
14:15:14
чтоб потом сидел и думал что такое 10, 1234 и т.д. и т.п.

F01134H
11.10.2017
14:15:25
http://www.javenue.info/post/22 открыл первую статью, не написано, почему это антипаттерн

Евгений
11.10.2017
14:15:28

?
11.10.2017
14:15:41

Evgeniy
11.10.2017
14:16:03
константы как и все хорошо но в меру
и для своего предназначения

$iD
11.10.2017
14:16:11
@folleah я бы сделал final класс

?
11.10.2017
14:16:26


F01134H
11.10.2017
14:16:29
для тех кому лень
Паттерн константный интерфейс является плохим использованием интерфейсов. То, что класс использует какие-то константы, является деталью реализации. Помещение констант в константный интерфейс приводит «утечку» этой детали реализации в экспортируемый классом API (его публичный интерфейс). Эти константы не несут никакого значения для пользователей класса имплементирующего константный интерфейс. Однако, это может запутать пользователей. Хуже того, это создает обязательство: в будущих реализациях класса, даже если класс будет изменен так, что не будет нуждаться в перечисленных в интерфейсе константах, класс всё равно дожен будет имплементировать тот же интерфейс для бинарной совместимости. Кроме того, если не финальный класс (без final в описании) имплементирует константный интерфейс, неймспейсы всех его наследников будут загрязнены константами из наследованного интерфейса.
раз уж в интерфейсах нельзя)


$iD
11.10.2017
14:17:26
нельзя возьми в кавычки
можно всё :D

Андрэ
11.10.2017
14:18:00
Особенно, если сильно хочется)

$iD
11.10.2017
14:18:12
пример другой Symfony\Component\HttpFoundation\Response

F01134H
11.10.2017
14:18:19
просто это очень сильно упрощает написание кода

Google

F01134H
11.10.2017
14:18:32
в интерфейс скинул константы и радуешься
вызывая через self::

$iD
11.10.2017
14:19:01
константы можно переопределять :)

Андрэ
11.10.2017
14:19:03
А чего не в сам класс?

$iD
11.10.2017
14:19:12
тогда self на статик менять

Андрэ
11.10.2017
14:19:20
Зачем выше выносить константы?

F01134H
11.10.2017
14:19:20
дублирование кода

Андрэ
11.10.2017
14:19:44
А, так это типа конфигурация?
Не для одного класса?

F01134H
11.10.2017
14:19:55
одно дело хардкодить константы, другое - хардкодить одну константу во множестве разных мест)

Андрэ
11.10.2017
14:20:34
Сделай спец класс чисто для констант, да. Ну у меня так кое-где
SomeCoolClass::badBadError

F01134H
11.10.2017
14:21:25
надеюсь это не фасад)
кек

Андрэ
11.10.2017
14:21:34
Нафиг они тебе внутри класса по self
Нет. Это просто класс же. При чем тут фасад?

F01134H
11.10.2017
14:21:48

Андрэ
11.10.2017
14:22:44
Ну хз. Это штука относительная. По мне типа ResponseErrors::notFound выразительнее self::notFound