← Асинхронні виклики у версії 4.x
docs: rewrite JsonRpcBundle docs, add SDK docs, move them under docs/api
uk/docs/api/sdk/client/async/v4.md
new file +23
−0
Асинхронні виклики у версії 4.x
Версія 4.x
Актуальний опис — на сторінці Асинхронні виклики.
У 4.x асинхронні класи працювали безпосередньо з Symfony Messenger і AMQP:
- перший аргумент конструктора — Symfony
TransportFactoryInterface(зазвичайAmqpTransportFactory); - AMQP-специфіка (черга, опції,
AmqpStamp) була всерединіAbstractAsyncProcedure; - аргументу
transportNameне було — використовувався транспортrpc_async, плейсхолдер секрету —{rpc_async_secret}; SdkConfigs::getApiEndpoint(string $vendor, bool $sync = true).
Оновлення до 5.x
- Встановіть
ufo-tech/component-transport-amqp(іext-amqp). - Перший аргумент асинхронних класів —
Ufo\Component\TransportContracts\AsyncTransportFactoryзAMQPTransportResolver; новий четвертий аргументtransportName. SdkConfigs::getApiEndpoint(string $vendor, string $transportName); константиSdkConfigs::SYNC/ASYNCприбрано — використовуйтеRpcTransport::SYNC_PREFIX/ASYNC_PREFIX.- Запасний варіант зі старим ключем
asyncу yaml прибрано. AsyncTransport::PLACEHOLDERтепер формат{%s_secret}; для назвиrpc_asyncтекст плейсхолдера не змінився.- Перегенеруйте SDK.
У Symfony оновлюйте разом із SDK Bundle 4.0 — він реєструє AsyncTransportFactory автоматично.