🌉 RoadRunner bridge to Spiral Framework
MIT License
Bot releases are hidden (Show)
Full Changelog: https://github.com/spiral/roadrunner-bridge/compare/v4.0.0-alpha2...v4.0.0-RC1
Published by roxblnfk about 2 months ago
Full Changelog: https://github.com/spiral/roadrunner-bridge/compare/v3.6.2...v3.7.0
Published by roxblnfk about 2 months ago
Full integration with interceptors of Spiral v3.14.
In interceptors, you can interact with the request context, modify the input, handle the output, and perform any actions just before calling the target method.
Added support for container scopes. Each worker will open the corresponding scopes immediately after initialization (dispatcher scope) and before running interceptors (context scope).
Dispatcher scopes are used to limit service bindings. Contextu scopes limits the context. For example, in the HTTP module, the context is ServerRequestInterface
from PSR-7. Corresponding contexts have been added for the others as well.
HTTP:
http
- dispatcher scopehttp-request
- context scope\Psr\Http\Message\ServerRequestInterface
- context classCentrifugo:
centrifugo
- dispatcher scopecentrifugo-request
- context scope\RoadRunner\Centrifugo\Request\RequestInterface
- context classgRPC (server):
grpc
- dispatcher scopegrpc-request
- context scope\Spiral\RoadRunnerBridge\GRPC\UnaryCallInterface
- context classQueue:
queue
- dispatcher scopequeue-task
- context scope\Spiral\Queue\TaskInterface
- context classTCP:
tcp
- dispatcher scopetcp-request
- context scope\Spiral\RoadRunner\Tcp\RequestInterface
- context classThe worker initialization time has been significantly optimized by using
tokenizer listeners
when searching for gRPC services.
The responsibility for making client gRPC calls has been moved to the spiral/grpc-client
package, which is included by default.
Generating client classes is no longer required, as spiral/grpc-client
generates the necessary proxy classes at runtime.
That's why all the extra generators (BootloaderGenerator, ConfigGenerator, ClientGenerator) and client-related classes have been removed from this package.
To configure spiral/grpc-client
, a client
section has been added to the gRPC configuration:
return [
// File 'app/config/grpc.php'
// ... other options ...
'client' => new GrpcClientConfig(
interceptors: [
SetTimoutInterceptor::createConfig(6_000),
RetryInterceptor::createConfig(
maximumAttempts: 1,
),
ExecuteServiceInterceptors::class,
],
services: [
new \Spiral\Grpc\Client\Config\ServiceConfig(
connections: ConnectionConfig::createInsecure('localhost:9001'),
interfaces: [
\GRPC\Mailer\MailerServiceInterface::class,
\GRPC\Mailer\PingerServiceInterface::class,
],
),
],
)
];
Refer to the spiral/grpc-client
documentation for more information.
Published by roxblnfk 3 months ago
Full integration with interceptors of Spiral v3.14.
In interceptors, you can interact with the request context, modify the input, handle the output, and perform any actions just before calling the target method.
Added support for container scopes. Each worker will open the corresponding scopes immediately after initialization (dispatcher scope) and before running interceptors (context scope).
Dispatcher scopes are used to limit service bindings. Contextu scopes limits the context. For example, in the HTTP module, the context is ServerRequestInterface
from PSR-7. Corresponding contexts have been added for the others as well.
HTTP:
http
- dispatcher scopehttp.request
- context scope\Psr\Http\Message\ServerRequestInterface
- context classCentrifugo:
centrifugo
- dispatcher scopecentrifugo.request
- context scope\RoadRunner\Centrifugo\Request\RequestInterface
- context classgRPC (server):
grpc
- dispatcher scopegrpc.request
- context scope\Spiral\RoadRunnerBridge\GRPC\UnaryCallInterface
- context classQueue:
queue
- dispatcher scopequeue.task
- context scope\Spiral\Queue\TaskInterface
- context classTCP:
tcp
- dispatcher scopetcp.request
- context scope\Spiral\RoadRunner\Tcp\RequestInterface
- context classThe worker initialization time has been significantly optimized by using
tokenizer listeners
when searching for gRPC services.
The responsibility for making client gRPC calls has been moved to the spiral/grpc-client
package, which is included by default.
Generating client classes is no longer required, as spiral/grpc-client
generates the necessary proxy classes at runtime.
That's why all the extra generators (BootloaderGenerator, ConfigGenerator, ClientGenerator) and client-related classes have been removed from this package.
To configure spiral/grpc-client
, a client
section has been added to the gRPC configuration:
return [
// File 'app/config/grpc.php'
// ... other options ...
'client' => new GrpcClientConfig(
interceptors: [
SetTimoutInterceptor::createConfig(6_000),
RetryInterceptor::createConfig(
maximumAttempts: 1,
),
ExecuteServiceInterceptors::class,
],
services: [
new \Spiral\Grpc\Client\Config\ServiceConfig(
connections: ConnectionConfig::createInsecure('localhost:9001'),
interfaces: [
\GRPC\Mailer\MailerServiceInterface::class,
\GRPC\Mailer\PingerServiceInterface::class,
],
),
],
)
];
Refer to the spiral/grpc-client
documentation for more information.
Published by roxblnfk 3 months ago
error
to warning
for pipeline declarations when a pipeline with the same name already exists by @butschster in https://github.com/spiral/roadrunner-bridge/pull/107
proto_path
params order in a protoc command when PHP classes are generated by @roxblnfk in https://github.com/spiral/roadrunner-bridge/pull/106
Full Changelog: https://github.com/spiral/roadrunner-bridge/compare/v3.6.1...v3.6.2
Published by roxblnfk 4 months ago
Full Changelog: https://github.com/spiral/roadrunner-bridge/compare/v3.6.0...v3.6.1
Published by butschster 5 months ago
Full Changelog: https://github.com/spiral/roadrunner-bridge/compare/v3.5.0...v3.6.0
Published by msmakouz 6 months ago
Full Changelog: https://github.com/spiral/roadrunner-bridge/compare/3.4.0...v3.5.0
Published by butschster 8 months ago
Full Changelog: https://github.com/spiral/roadrunner-bridge/compare/3.3.1...3.4.0
Published by butschster 10 months ago
Full Changelog: https://github.com/spiral/roadrunner-bridge/compare/3.3.0...3.3.1
Published by butschster 10 months ago
Full Changelog: https://github.com/spiral/roadrunner-bridge/compare/3.2.0...3.3.0
Published by butschster 10 months ago
Full Changelog: https://github.com/spiral/roadrunner-bridge/compare/3.1.0...3.2.0
Published by butschster 10 months ago
Full Changelog: https://github.com/spiral/roadrunner-bridge/compare/3.0.2...3.1.0
Published by butschster about 1 year ago
Full Changelog: https://github.com/spiral/roadrunner-bridge/compare/3.0.1...3.0.2
Published by butschster about 1 year ago
initServices
method generation by @MeidoNoHitsuji in https://github.com/spiral/roadrunner-bridge/pull/83
Full Changelog: https://github.com/spiral/roadrunner-bridge/compare/3.0.0...3.0.1
Published by butschster over 1 year ago
spiral/roadrunner-jobs
package up to 4.0 versionspiral/serializer
component to deserialize it.return [
'default' => env('QUEUE_CONNECTION', 'roadrunner'),
'connections' => [
'in-memory' => [
'driver' => 'roadrunner',
'pipeline' => 'memory', // <======= Pipeline that will be used in connection
],
],
'defaultSerializer' => 'closure',
'pipelines' => [ // <=============== Pipelines section
'memory' => [
'connector' => new MemoryCreateInfo('local'),
'consume' => true,
],
],
];
Adds earlier declaration of pipelines with consuming.
consume=true
declaration, it will be declared automatically during application bootstrapping.rr:jobs:consume
console command declares a pipeline if it wasn't declared and there is a declaration in config for it
Full Changelog: https://github.com/spiral/roadrunner-bridge/compare/2.6.0...3.0.0
Published by butschster over 1 year ago
Full Changelog: https://github.com/spiral/roadrunner-bridge/compare/2.5.1...2.6.0
Published by butschster over 1 year ago
Full Changelog: https://github.com/spiral/roadrunner-bridge/compare/2.5.0...2.5.1
Published by butschster over 1 year ago
Full Changelog: https://github.com/spiral/roadrunner-bridge/compare/2.4.0...2.5.0
Published by butschster over 1 year ago
Full Changelog: https://github.com/spiral/roadrunner-bridge/compare/2.3.2...2.4.0