naroga / foreman
A worker manager with a priority process queue.
Installs: 17
Dependents: 0
Suggesters: 0
Security: 0
Stars: 6
Watchers: 1
Forks: 1
Open Issues: 3
Type:project
Requires
- php: >=5.3.9
- doctrine/dbal: <2.5
- doctrine/doctrine-bundle: ~1.4
- doctrine/orm: ~2.2,>=2.2.3,<2.5
- guzzlehttp/guzzle: ~6.0
- incenteev/composer-parameter-handler: ~2.0
- jms/serializer-bundle: ^1.0
- react/http: dev-master
- sensio/distribution-bundle: ~4.0
- sensio/framework-extra-bundle: ~3.0,>=3.0.2
- symfony/assetic-bundle: ~2.3
- symfony/monolog-bundle: ~2.4
- symfony/swiftmailer-bundle: ~2.3
- symfony/symfony: 2.7.*
Requires (Dev)
- sensio/generator-bundle: ~2.3
This package is auto-updated.
Last update: 2024-12-11 23:30:51 UTC
README
Naroga/Foreman is a worker manager. It allows you to spawn parallel processes without spawning too many processes at once (and thus consuming all your resources). It's an easy way to enqueue new processes, sit back and wait to be notified when the process is done.
It's easy to configure and has a built-in queue priority schema.
Project requisites
This project is now supported in all major OS': UNIX, OSX and Windows.
It requires PHP 5.5+ (or 7.0+), curl, json, and xml extensions.
See the Symfony Requirements for more specific and in-depth requirements.
You can check if your system is ready to use by running php app/check.php
.
Installation
Use Composer to install this project and all its dependencies:
composer create-project naroga/foreman
The installation wizard will ask you for a few parameters, such as a hostname and a port for the daemon service. You can change these, but if you wish, you can just press ENTER at each request to use the default configuration, which should run just fine.
Configuration
1. Setting up the servers
There are two servers in this project that should be running at all times
1.1. The Daemon Service
The demon is started from the command line, and if you installed this application using
composer
(see the topic above), it should be good to go. Just check if your firewall
isn't blocking connections in the specified port (defaults to 3440
). If you wish to make
changes to the host/port, you should edit app/config/parameters.yml
.
1.2. The http server
The http server runs like you would expect from a PHP project. Just set up a virtual host pointing to the /web/ folder. If you wish to troubleshoot or to get more information on setting up the virtual host, you should refer to the Symfony WebServer configuration documentation.
2. Additional configuration
Naroga/Foreman comes preconfigured, so you can skip this section. If you wish to tweak the configuration to improve responsiveness, resource usage or to change the default behaviour, proceed to the configuration reference.
Usage
To get started on using this project, proceed to the documentation.
License
This project is released under the MIT License. For more information, see the LICENSE file.