Download the PHP package gplanchat/durable-bridge-temporal without Composer

On this page you can find all versions of the php package gplanchat/durable-bridge-temporal. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package durable-bridge-temporal

gplanchat/durable-bridge-temporal (src/Bridge/Temporal)

gRPC bridge (without the official Temporal PHP SDK) to persist the Durable journal in a minimal Temporal workflow.

Read-only mirror. This repository is a subtree-split of gplanchat/durable-dev, published so Composer can require this package on its own. Issues and pull requests are disabled here — open them on the monorepo.

The tests are in the monorepo, not here. This split carries source only. What covers it is tests/unit/Bridge/Temporal/ in the monorepo, run by its unit suite.

Documentation: durable.rocks.

PHP namespace: Gplanchat\Bridge\Temporal.

Deployment invariant: when Temporal is enabled for Durable, the journal (EventStore) and application queues share the same Temporal connection (temporal://…). Access mode (journal receive-only vs application envelope) is selected via options.purpose (journal | application) or inferred (presence of inner ⇒ application). Schemes temporal-journal:// and temporal-application:// are still accepted and normalized to temporal://.

Requirements

Components

Class Role
TemporalJournalEventStore Implements Gplanchat\Durable\Store\EventStoreInterface
TemporalTransportFactory Single temporal:// factory: journal (TemporalJournalTransport, receive-only) or application (TemporalApplicationTransport + inner) from purpose / inner
TemporalJournalTransport Symfony Messenger receive-only transport (same temporal://… DSN, no inner by default); consumed with messenger:consume <transport_name>
TemporalApplicationTransport Wraps a real Messenger transport (temporal://…?inner=… or options.inner) for Durable application messages
TemporalBridgeBundle Registers the temporal:// Messenger factory

Transport DSN (single scheme)

Query parameters: namespace, task_queue or journal_task_queue, workflow_type, workflow_task_queue, activity_task_queue, identity, tls (bool).

Journal (receive-only)

Without inner and without options.purpose=application, the transport is TemporalJournalTransport.

Application queues (inner)

Or temporal://… without inner in the URL and options: { purpose: application, inner: 'in-memory://' } in Messenger config.

Symfony

  1. In the monorepo the code lives under src/Bridge/Temporal; in a split repo: composer require gplanchat/durable-bridge-temporal.
  2. Register Gplanchat\Bridge\Temporal\TemporalBridgeBundle in the kernel.
  3. framework.messenger.transports.<name>: 'temporal://…' (without inner, journal DSN — e.g. journal_task_queue=durable-journal).
  4. messenger:consume <name> (standard Symfony worker; poll and journal task handling are inside TemporalJournalTransport::get()).
  5. Wire EventStoreInterface to TemporalJournalEventStore where appropriate (explicit DI).

FrankenPHP worker

Same idea as messenger:consume: run the Messenger worker under FrankenPHP worker mode (or systemd) with messenger:consume <journal_transport> pointing at temporal://… without inner.

License

MIT — see WA004.

Further reading


All versions of durable-bridge-temporal with dependencies

PHP Build Version
Package Version
Requires php Version >=8.2
gplanchat/durable Version self.version
google/common-protos Version ^4.9
google/protobuf Version ^4.31
grpc/grpc Version ^1.57
psr/log Version ^1.1 || ^2.0 || ^3.0
symfony/messenger Version ^6.4 || ^7.0 || ^8.0
symfony/http-kernel Version ^6.4 || ^7.0 || ^8.0
symfony/dependency-injection Version ^6.4 || ^7.0 || ^8.0
symfony/config Version ^6.4 || ^7.0 || ^8.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package gplanchat/durable-bridge-temporal contains the following files

Loading the files please wait ...