Download the PHP package jobu/json-rpc-client without Composer

On this page you can find all versions of the php package jobu/json-rpc-client. 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 json-rpc-client

JobU PHP client

Synchronous PHP 8.5+ client for the JobU JSON-RPC protocol. This client targets the protocol documented at Deferra commit 02e374408bd58f74abe6e54416a846c5b6de62dc (API 1.6). Requires the PHP JSON extension and access to the daemon's Unix socket.

Install from Packagist in another PHP project:

Composer package versions come from Git tags, not the daemon's API version. Latest library version: 1.2.0. See CHANGELOG.md for changes.

Use composer install to install dependencies in this checkout. The consuming project must run PHP 8.5+ with ext-json enabled. Then:

The grouped API covers all 30 documented methods with immutable request and result DTOs. For example:

Passing null for job.update.name clears the name; omitting the field leaves it unchanged. Optional request fields are never serialized unless supplied. Cursor-based continuations for runs, attempts, and statistics must contain only cursor; the library returns one page per call rather than fetching all pages. Use info() to check API major version and supports() for method availability before calling methods on older daemons. Typed queue calls that return queue objects, including queue.update, require API 1.6 and issue system.info before sending the operation; run.list.states similarly checks for API 1.5. queue.delete and queue.stats retain older compatibility. Results keep unknown additive fields harmlessly ignored and enum values as strings; extensible payload templates and attributes remain JSON objects.

API 1.6 queue results include a required, exact integer revision. Read the current queue by UUID before updating: keyed create replay returns its original revision-1 snapshot, not the live token. Updates require expected_revision from that read and at least one setting; a stale token yields jobu.queue.revision_conflict. Re-read and reconcile changes rather than automatically retrying. QueueGet::byId($id)->with(include_deleted: true) permits a retained deleted queue; a historical name may be ambiguous. Queue state transitions can also advance revisions, even when no configuration setting changes. The daemon requires storage format 5 for API 1.6 and does not automatically migrate older databases.

RunList::from(['states' => ['failed', 'interrupted']]) selects either state on API 1.5+ daemons. This typed call checks system.info before sending the new field and throws UnsupportedFeatureException for older daemons; scalar state, unfiltered, and cursor-only queries retain their previous behavior. Raw call() does not perform feature checks. New HTTP job payloads accept GET, POST, PUT, PATCH, DELETE, or HEAD (case-insensitively); JobU stores uppercase methods, defaults omissions to GET, and rejects a body with HEAD. JobU applies these checks to newly admitted payloads, not unrelated edits to existing jobs.

When Deferra updates its protocol, compare the pinned commit with upstream docs/protocol, update typed request/response DTOs and version-sensitive calls as needed, add socket-level regression tests, and then advance this commit reference. Additive protocol fields do not automatically appear in typed requests; call() remains available for newer methods and fields.

call($method, $params) works with every documented method; pass associative arrays or stdClass for object params. The daemon validates method-specific fields. Responses decode as stdClass, arrays, scalars, or null. info() and supports($method) use system.info to discover available capabilities.

The client keeps one socket open for sequential requests and reconnects on the next explicit call after a transport or protocol failure. It does not retry calls automatically: a lost reply to a mutation can mean it committed. Use the protocol's idempotency or reconciliation guidance before retrying. RpcException represents server errors; TransportException and ProtocolException distinguish connection failures from invalid responses. The default I/O timeout is five seconds; pass a positive float as the second constructor argument to change it. Default framing limits are 16 KiB headers and 1 MiB bodies. Concurrent in-flight requests, notifications and batches are not supported by this synchronous client.

Run the socket-level tests with composer test (requires the PHP pcntl extension), or run an individual test under tests/ without installing dependencies.

The optional test/operator web UI lives in ui/; it is excluded from Git archive (Composer dist) packages. Composer source installs still clone the full repository.

Licensed under the MIT License.


All versions of json-rpc-client with dependencies

PHP Build Version
Package Version
Requires php Version ^8.5
ext-json Version *
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 jobu/json-rpc-client contains the following files

Loading the files please wait ...