@prophp7

Страница 672 из 1387
Алексей
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 экспшны не помогли

сделал через

\

+1 сделай с \
помогло, отловил

Все дядьки, спс. Помогло и теперь мне в консоль гадит невалидные прокси. что бы я их вычленял

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

Google
Григорий
11.10.2017
11:28:23
Andrew
11.10.2017
11:30:46
Андрей, explain не поможет, как ты определишь медленность запроса по эксплейну? тот же запрос с файлсортом может выполнится в 100 раз быстрее чем без файлсорта, если во втором будет запрос по активнолочащейся таблице
в моем случае файлсорт - гарантированые секунды, temporary - минуты. Естественно, данных мало, но на конкретные запросы есть возможность сделать сначала explain и посмотреть, выборка по индексу происходит или нет. Специфика в том что write происходят раз в сутки, так что по поводу локов я даже не заморачиваюсь. В любом случае, спасибо за мысли

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
?

$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
так ты сделай метод по высчитываюнию числа пи до нужного знака на js
так тогда придётся захардкодить длину числа пи

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
Нафиг они тебе внутри класса по self
так удобнее, я уже выше писал

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

Страница 672 из 1387