Download the PHP package fof/horizon without Composer

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

Horizon - Advanced Queue Dashboard & Management

Laravel Horizon Dashboard

A comprehensive queue management solution for Flarum, powered by Laravel Horizon. This extension provides a beautiful dashboard for monitoring your Redis queues, along with powerful worker management and scaling capabilities.

Features

Requirements

Installation

Step 1: Install Redis (if not already installed)

On Ubuntu/Debian:

On macOS (via Homebrew):

Verify Redis is running:

Step 2: Install the Extension

This will automatically install fof/redis as a dependency.

Configuration

Basic Setup

Horizon requires Redis to be configured. Create or modify your extend.php in the root of your Flarum installation:

Advanced Redis Configuration

Using separate databases for different services:

Disabling specific Redis features:

Redis Sentinel (High Availability):

Customizing Horizon Configuration

You can override Horizon's default configuration by creating a custom config file:

1. Create a Horizon config file (e.g., config/horizon.php in your Flarum root):

2. Register your config in extend.php:

Running Horizon

Development (Manual)

Start Horizon from your Flarum root directory:

This will run as long as the terminal session is active. Press Ctrl+C to stop.

Production (Supervisor)

For production environments, use a process monitor like Supervisor to keep Horizon running:

1. Install Supervisor:

2. Create a Supervisor configuration (/etc/supervisor/conf.d/horizon.conf):

3. Start Supervisor:

4. Check status:

Systemd (Alternative)

Create a systemd service file (/etc/systemd/system/flarum-horizon.service):

Enable and start:

Usage

Accessing the Dashboard

Navigate to: https://yourforum.com/admin/horizon

Available Commands

Start Horizon:

View active supervisors:

Pause all workers:

Continue processing after pause:

Pause a specific supervisor:

Continue a specific supervisor:

View Horizon status:

View supervisor status:

Terminate all workers gracefully:

Clear all jobs from a queue:

Purge failed jobs:

Delete a specific failed job:

Delete all failed jobs:

Clear metrics:

Dashboard Features

Real-time Monitoring

Job Management

Metrics

Troubleshooting

Dashboard shows errors

Issue: 500 errors or "Redis not configured" messages

Solution: Ensure Redis is properly configured in extend.php:

Workers not processing jobs

Issue: Jobs remain in pending state

Solution:

  1. Ensure Horizon is running: sudo supervisorctl status horizon
  2. Restart Horizon: php flarum horizon:terminate then start again
  3. Check for errors: tail -f storage/logs/horizon.log

After deployment, workers process old code

Issue: Code changes not reflected in running workers

Solution: Always terminate and restart Horizon after deployments:

Or via Supervisor:

Memory issues

Issue: Workers consuming too much memory, or you see Memory limit exceeded: Using X/128MB. Consider increasing horizon.memory_limit.

There are two separate memory limits:

Solution: Override either limit via config.php:

Or via the Horizon extender in extend.php:

You can also limit how long a worker runs before being recycled:

Performance Tips

  1. Use Auto-scaling: Set 'balance' => 'auto' to automatically scale workers based on load
  2. Separate Queues: Use different queues for high/low priority jobs
  3. Set Memory Limits: Configure memory to restart workers before they consume too much
  4. Monitor Metrics: Regularly check the dashboard for bottlenecks
  5. Tag Jobs: Use tags to group and monitor related jobs

Security

Upgrading

Then restart Horizon (via Supervisor or manually).

Migration from Blomstra Redis

If you're upgrading from the older blomstra/redis package:

  1. Simply update namespace references from Blomstra\Redis to FoF\Redis in your extend.php
  2. All configuration options remain the same

Links

License

MIT


Made with ❤️ by FriendsOfFlarum


All versions of horizon with dependencies

PHP Build Version
Package Version
Requires flarum/core Version ^2.0.0
laravel/horizon Version ^5.45.4
fof/redis Version ^2.0.0
vlucas/phpdotenv Version ^5.2
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 fof/horizon contains the following files

Loading the files please wait ...