Download the PHP package smskin/laravel-dynamic-horizon without Composer

On this page you can find all versions of the php package smskin/laravel-dynamic-horizon. 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 laravel-dynamic-horizon

Dynamic Management of Horizon Supervisors

I encountered the need to programmatically manage processes and queues in Horizon to solve the following case:

My users generate tasks in the queue. If one user generates 1 million tasks, the second user has to wait until the queue is cleared. The standard Horizon solution will not work, as consumers and queues are configured statically in the configuration file. Creating X queues for each user would be a very resource-intensive solution since there are many users, and the queues will remain idle most of the time (each Horizon consumer is a separate process that consumes operating system resources).

Solution: Create consumers as needed and stop them when not in use.

Operation Principle

The library is based on listening to the standard Horizon MasterSupervisorLooped event (the completion of the Horizon master process cycle).

At each tick of the cycle, the current configuration of dynamic supervisors (stored in Redis) is polled, and supervisors are started/stopped as necessary.

Library Feature

This library does not modify Horizon in any way. It is designed to "live alongside" and not interfere. When the configuration changes, it takes some time (the tick of the Horizon process) before new supervisors are launched.

Usage

  1. Getting the list of dynamic supervisors

  2. Setting the configuration for supervisors

set configuration screenshot

  1. Adding a supervisor to the configuration

add supervisor screenshot

  1. Updating the configuration of one of the supervisors

update supervisor screenshot

  1. Stopping one of the supervisors

stop supervisor screenshot

  1. Stopping all dynamic supervisors

stop all supervisors screenshot


All versions of laravel-dynamic-horizon with dependencies

PHP Build Version
Package Version
Requires php Version ^8.0
illuminate/support Version ^9.21 || ^10.0 || ^11.0
laravel/horizon Version ^5.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 smskin/laravel-dynamic-horizon contains the following files

Loading the files please wait ....