Size: a a a

2021 April 28

SB

Sergei Baikin in PHP
Я скорее думал над одним обработчиком в котрый инжектированны части пайплайна с других сервисов.
Но такой вариант тоже круто

К сожалению пока что тоже нет идей как запилить
источник

SP

Sergey Protko in PHP
грубо говоря...

interface DataCollector
{
   /**
     * @return array of results in the exact same order as references.
     * Use null if no associated value found
     */
   public function collect(Reference ...$references): array
}
источник

SP

Sergey Protko in PHP
ну и дальше у тебя...

[$promises, $refrences] = $this->collectReferences()
$resolved = $dataCollector->collect($references);
foreach($resolved as $i => $resolvedValue) {
   $promises[$i]->resolve($resolvedValue);
}
источник

SP

Sergey Protko in PHP
шот такое
источник

SP

Sergey Protko in PHP
я такое же использую для композиции респонсов
источник

SP

Sergey Protko in PHP
только у меня там сложнее (промисы и референсы агрегируются по типу дата коллектора грубо говоря, что бы можно было в цикле всем дата коллекторам сказать что я от них хочу)
источник

SP

Sergey Protko in PHP
дата коллекторы могут говорить умеют они в такой тип референса или нет
источник

SP

Sergey Protko in PHP
в итоге инфраструктура вообще ничего не знает и делает ряд допущений которые легко соблюдать
источник

SB

Sergei Baikin in PHP
а дата колекторы каким образом попадают а вшшрегатор?
источник

SP

Sergey Protko in PHP
сервисы по тэгу
источник

SP

Sergey Protko in PHP
$dataCollectors: !tagged export.data_collector
источник

SP

Sergey Protko in PHP
шот такое
источник

SB

Sergei Baikin in PHP
Вот я хочу также только на уровне разных сервисов\микросервисов
источник

SP

Sergey Protko in PHP
ну тогда по лэйблу сервиса)
источник

SP

Sergey Protko in PHP
это уже на тему сервис дискавери и вот это все. я потому и хотел через оператор кубера. он бы мне линковал все через лэйблы
источник

SB

Sergei Baikin in PHP
Сервис дискавери это же если мы сетевые запросы делаем по API?
Я думал над темой притаскивания PHP кода из другого сервиса чтобы этот притащенный код в базу ходил своего родителя
источник

SB

Sergei Baikin in PHP
Вот как раз с тем как притащить код во время деплоя у меня и проблема
источник

SP

Sergey Protko in PHP
ну можешь сделать роутинг кий и кидать в экчейндж  сообщение под конкретный ключ (тэг), которое попадает в очереди с биндингами на этот ключ. которые потом обрабатывают сервисы и делают респонс обратно
источник

SP

Sergey Protko in PHP
в этом случае можно новых обработчиков динамически менять меняя биндинги
источник

SP

Sergey Protko in PHP
но это если у тебя юзкейс простой - когда есть первый сервис который знает что экспортировать
источник