@prophp7

Страница 849 из 1387
Sergey
21.12.2017
08:52:35
я знаю только вариант при котором можно после каждой обработанной задачи трекать стэйт очереди

Bohdan
21.12.2017
08:52:49
и просто демона можно запустить, который будет трекать

Sergey
21.12.2017
08:52:52
и если там пусто - можно закинуть ивент "обработай собранное"

Bohdan
21.12.2017
08:52:57
блин, я сйечас проверю...я вроде такое делал

Google
Bohdan
21.12.2017
08:55:57
и если там пусто - можно закинуть ивент "обработай собранное"
я думаю, только так можно глянул свои наработки - у меня была редиска в качестве промежуточного хранилища

Ilya
21.12.2017
08:56:03
Если задачи в очереди от первого заброса не успели обработаться, когда начался следующий, такое событие не сработает

Bohdan
21.12.2017
08:56:30
тоже верно - при большой нагрузке ивент на обработку не улетит никогда

можно использовать что-то типа промежуточного стейта и если воркеры распарсили 5 задач - тогда кидать мессадж на запуск анализа но для этого нужно иметь один шлюз, который получает задачи на парсинг и раскидывает по воркерам каким-либо образом

Sergey
21.12.2017
08:59:28
можно использовать что-то типа промежуточного стейта и если воркеры распарсили 5 задач - тогда кидать мессадж на запуск анализа но для этого нужно иметь один шлюз, который получает задачи на парсинг и раскидывает по воркерам каким-либо образом
в идеале наверное ты хочешь что-то типа "запаблишил 10 ивентов", ждем пока все завершится, обрабатываем результат. Ну то есть... консюмеры ж должны результат записать куда.

Ilya
21.12.2017
08:59:47
самый простой вариант - при добавлении задачи инткрементировать счётчик с уникальным id, по завершению декрементировать, и раз в минуту проверять, если счётчик обнулился

Sergey
21.12.2017
09:00:02
так что в целом если консюмер знает что для этого потока задач у нас 10 сообщений и мы записали 10 результатов - можно жахнуть новую задачу - обработать все

и без хранилища - просто сделать что-то типа метаинформации задачи

{ job: {...} jobId: 1, totalJobsForTask: 132 }

и трекать на стороне консюмера

Dmitry
21.12.2017
09:03:48
т.е. использование хранилища под стэйт пакета задач годная идея

Sergey
21.12.2017
09:04:31
Google
Sergey
21.12.2017
09:05:35
но ты записываешь не сами ж задачи а что-то что позволяет их трекать

Dmitry
21.12.2017
09:05:55
само собой. Самими задачи рулит кролик

т.е. храню метаинфомрацию о запускаемом пакете

просто мало ли, может есть гуру кролика, которые решали примерно такой кэйс

Alexodiy
21.12.2017
09:23:18
Всем приветы. Ребят, есть кто с друпалом и битриксом разбирается? Есть несколько ТЗ. Кто хочет заработать, пишите в личку.

Dmitry
21.12.2017
13:31:01
Вопрос, а в symfony каким образом осуществляется доступ к DIC (в контроллере доступен, видел) ???

Victor
21.12.2017
13:41:30
Вопрос, а в symfony каким образом осуществляется доступ к DIC (в контроллере доступен, видел) ???
Ты через конфиги описываешь сервис и говроришь что ему нужно как зависимость, а в самом сервисе описываешь конструктор.

Dmitry
21.12.2017
13:43:08
Т.е. не существует возможности где-то принудительно разрешить зависимость в коде, вызвав как-то DIC?

Alexander
21.12.2017
13:46:48
Нету, насколько я знаю, это внесет путаницу

Bogdan
21.12.2017
14:39:47
кто как дебажит запросы со сторонних сервисов? К примеру, тот же телеграм. Он шлет запрос на указанный метод, где и обрабатывается. Так вот, как протестировать работу этого метода? Логи? Сохранить входящий запрос и отправить постменом? Или есть более удобный способ?

Kirill
21.12.2017
14:40:32
Ну да. Тестить ручками, или настроить дефолтный ремоут

Anton Shelyganov
21.12.2017
14:42:09
Можно использовать ngrok, запрос пробрасывать на локальную машину, затем xdebug https://ngrok.com/

Bogdan
21.12.2017
14:42:50
как пробросить запрос?

Anton Shelyganov
21.12.2017
14:44:58
Скачиваешь ngrok, запускаешь в cli ngrok http 80 Получешь такого вида ссылку https://92832de0.ngrok.io

https://ngrok.com/docs

Bogdan
21.12.2017
14:49:04
nkrok использовал уже, чтобы сделать локальный сервер доступным для тех же сервисов. Не знаю пока как пробросить запрос и настроить дебагер в таком случае. Почитаю доки

Google
Bogdan
21.12.2017
14:50:33
не то, чтобы надо, но удобнее, нет?

Mihail
21.12.2017
15:04:01
уважаемые, подскажите пожалуйста в email вставляют картинки через src, картинки к сожалению имеют русские буквы в названии и как результат для клиентов gmail картинки не отображаются, но нормально выглядят в yandex и mail.ru почтах сам email Content-Type: text/plain; charset="utf-8", Content-Transfer-Encoding: 8bit как правильно писать src, чтобы и в gmail отображались фото?

Mihail
21.12.2017
15:12:20
пробывал, есть подозрения, что после него ещё один urlencode происходит уже на smtp сервере и знаки % ещё раз кодируются

и без тоже пробывал

Dmitry
21.12.2017
15:13:24
Из письма обратно адрес декодируется до точного?

А транслитировать путь до картинки?

Mihail
21.12.2017
15:16:30
вставляю в письмо ASD_русский.jpg в yandex почте получаю NT1015_%25D1%2581%25D0.jpg

Bogdan
21.12.2017
15:23:44
командой поправить названия существующих и поправить метод, который генерит эти названия? Если уж ничего не помогает

Dmitry
21.12.2017
15:29:41
может все же urlencode воспользоваться, как это полагается по стандарту?

и как вообще можно "вставлять картинки" в plain/text?

Mihail
21.12.2017
15:37:59
не туда глянул, не plain/text, a text/html

Mihail
21.12.2017
16:00:59
Решил проблему, я вставлял протоколо независимые ссылки, как добавил протокол, так всё ок стало Всем спасибо за советы)

Dmitry
21.12.2017
16:58:42
Подскажите плиз, --set-upsteam работает на каждой ветке по разному или это глобальная настройка? могу ли для каждой ветки настроить удаленную ветку?

Dmitry
21.12.2017
17:18:39
для каждой ветки отдельно

но нужно сначала несколько ремоутов под разными именами добавить

Firs
22.12.2017
03:25:53
Не подскажите, где брать бесплатно списки прокси, желательно по СНГ...

Firs
22.12.2017
04:02:50
И чтоб не банили...
Не понял это к чему...

Tadeus
22.12.2017
04:03:20
К тому, что их же банят напостой. Прокси бесплатные, о них же говорим?

Google
Tadeus
22.12.2017
04:07:26
Много времени уходит на то, чтоб чекнуть работоспособность каждого необходимого прокси. Если большое количество нужно будет разных использовать, то проще уже заплатить и поберечь себе нервы

Firs
22.12.2017
04:09:15
Я КиноПоиск плюс парсю, может кто подсказать хитрости обхода блокировки, заголовки так же как у браузера, задержка 5 секунд, все равно капчу выдает

Tadeus
22.12.2017
04:10:38
Попробуй goutte+domcrawler

Не поверишь, сам сейчас сижу в этим трахаюсь

Точнее закончил с парсингом ещё вчера, но проект на этом не окончен)

Firs
22.12.2017
04:17:33
Crawler, нужно достать следующий элемент от найденного, не понял как сделать(пока что взял родителя, вытащил весь текст и регулярной достал нужное?)

Tadeus
22.12.2017
04:19:35
filterXPath('//элемент')?

Впрочем, я понял, почему родителя и что ты так же и делал походу

Dmitry
22.12.2017
07:32:08
Всем привет. Мысль вслух: из-за того что в Yii2 DIC доступен повсеместно, существует большой соблазн превратить его в еще и в фабрику ???

Admin
ERROR: S client not available

Valentin
22.12.2017
07:49:35
Если вы уже активно используете DIC в юии то должны уже наверное понимать где его можно вызывать, а где не стоит

Andrew
22.12.2017
07:54:01
Sergey
22.12.2017
07:54:46
Всем привет. Мысль вслух: из-за того что в Yii2 DIC доступен повсеместно, существует большой соблазн превратить его в еще и в фабрику ???
раскрой мысль, что значит "доступен повсеместно" и что значит "превратить в фабрику"? Это и так набор фабрик, и его не надо вызывать или доступ к нему иметь - он делает зависимости сам.

Dmitry
22.12.2017
07:57:57
Под повсеместностью имею в виде вызов в любой точке приложения Yii::$ontainer->get(...). Тогда появляется соблазн навесить обязанность по созданию экземляров классов

Из вчерашнего вопроса, я так понял такой возможности в симфони нет

Victor
22.12.2017
07:59:16
Ты руками, с контейнером работать не должен.

Valentin
22.12.2017
07:59:34
что значит "вызывать"?
Yii::app()->container->get("*interface*") или как там пишется не знаю, имел ввиду использовать его в клиентском коде

Google
Sergey
22.12.2017
08:06:06
Из вчерашнего вопроса, я так понял такой возможности в симфони нет
можно заинджектить контейнер. Но вообще "глобальный доступ" это не очень хорошо

есть исключения, но надо смотреть на связанность

Dmitry
22.12.2017
08:20:35
Еще вопрос, из документации симфони по EventDispatcher не углядел в каком месте происходит привязка слушателей к событиям. DIC?

Andrew
22.12.2017
08:23:33
ну это если использовать symfony di

если юзаешь голый — дергаешь EventDIspatcher::addListener, передаешь туда ивент, callable и готово

Konstantin
22.12.2017
08:50:31
сорь, промазал

Sergey
22.12.2017
08:51:55
то есть до старта приложения

не помню точно по поводу сабскрайберов - может быть они уже при инициализации отрабатывают... никогда не интересовался если честно

Dmitry
22.12.2017
08:53:11
ок, спасибо

Alexander
22.12.2017
09:24:50
Евгений
22.12.2017
10:35:18
Кто может подсказать по поводу исключений. Когда пишешь например какую то либу и т.п, которые будут использоваться другими людьми, нужно вываливать исключения и самому же их ловить? Или ловить уже должен тот кто либу будет использовать? Или не важно?

Alexander
22.12.2017
10:40:11
Это смотря что ты за исключение выкидываешь. Можно и так и так делать. Главное понимать логику работы. Вот например, твоя либа не может работать без каких либо настроек PHP. То тогда ты выкидываешь исключение которое должны обработать выше. Но ты также внутри своей либы можешь выкидывать и обрабатывать исключения если они тебе нужны.

Vsevolod
22.12.2017
10:47:23
Парни, объясните шлангу, как из функции вернуть массив? Именно вернуть, а не вывести на экран. С процедурным подходом проблем не испытываю, а вот на ооп не могу переехать.

Andrey
22.12.2017
10:48:02
return array(); ?

Slava
22.12.2017
10:48:44
))))

Roman
22.12.2017
10:50:58
return []; тогда уж

Vsevolod
22.12.2017
10:52:21
То есть, если у меня есть массив $example=array(1,2,3); То верну я его return $example (); ?

Roman
22.12.2017
10:52:37
return $example;

без скобочек

$example=[1,2,3];

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