Download the PHP package riki137/multitron without Composer

On this page you can find all versions of the php package riki137/multitron. 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 multitron

Multitron: High-Performance PHP Task Orchestrator

Latest Version Total Downloads Build Status Code Coverage PHPStan Level 9

Multitron is a powerful, high-performance PHP task orchestrator designed to simplify parallel processing, concurrency, and automation in PHP applications. Quickly execute complex tasks asynchronously, maximizing the efficiency and scalability of your workflows.

Ideal for Symfony Console apps, CI/CD pipelines, batch processing, and heavy PHP workloads.



Why Choose Multitron?

Installation

Usage

Tasks implement the Multitron\Execution\Task interface. Here's a minimal example task:

You can register tasks in a command that extends Multitron\Console\AbstractMultitronCommand:

Register the command in your Symfony Console application and run it. Multitron will execute the tasks respecting dependencies and concurrency.

You can control how many tasks run at once via the -c/--concurrency option:

The library will spawn up to eight worker processes and keep them busy until all tasks finish.

To limit which tasks run, pass a pattern as the first argument. Wildcards work the same as in fnmatch() and you may use % in place of * for convenience:

You can also tune how often progress updates are rendered using the -u/--update-interval option (in seconds):

You may also constrain memory usage with the -m/--memory-limit option:

You can disable colors with --no-colors and switch off interactive table rendering using --interactive=no. The default --interactive=detect automatically falls back to plain output when run in CI.

Central Cache

Within a task you receive a TaskCommunicator instance that provides simple methods to read and write data shared between tasks:

Reporting Progress

Tasks can update progress counters that Multitron displays while running. Use the ProgressClient provided by the communicator:

You may also call addOccurrence() or addWarning() to report additional metrics or warnings.

Partitioned Tasks

When a workload can be split into chunks, partitioned tasks run those chunks in parallel. Define a task extending PartitionedTask and specify the number of partitions in the tree:

Accessing CLI Options

Options passed on the command line are forwarded to each task. Retrieve them via TaskCommunicator:

Call getOptions() to receive the entire array of options if needed.

Custom Progress Output

Multitron renders progress using a ProgressOutputFactory. Replace the default table display or combine outputs with ChainProgressOutputFactory:

Implement the factory to send progress anywhere you like.


Contribute to Multitron!

Your feedback, issues, and contributions are highly encouraged. Open a GitHub issue or start a pull request to help improve PHP concurrency and task management:


License

Multitron is MIT licensed. See the LICENSE file for full details.


SEO Keywords: PHP Task Orchestrator, Parallel Processing PHP, Symfony CLI Automation, Asynchronous PHP Tasks, Multitron PHP, PHP Concurrency, PHP Task Manager, Open-source PHP Library


All versions of multitron with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
ext-pcntl Version *
ext-mbstring Version *
symfony/console Version ^7.2
riki137/stream-ipc Version ^1.0.0-beta6
psr/container Version ^2.0
psr/container-implementation 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 riki137/multitron contains the following files

Loading the files please wait ....