2017 © Pedro Peláez
 

library jobrunner

A library to create and run jobs in PHP.

image

barracudanetworks/jobrunner

A library to create and run jobs in PHP.

  • Tuesday, May 15, 2018
  • by barracuda
  • Repository
  • 9 Watchers
  • 7 Stars
  • 5,762 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 3 Forks
  • 0 Open issues
  • 24 Versions
  • 19 % Grown

The README.md

PHP Job Runner

Code Climate Build Status Test Coverage, (*1)

A library to make runnable jobs with PHP easy. The library also supports creating jobs that have children backed by our PHP Fork Daemon., (*2)

Usage

Create your jobs by extending Job, or the special ForkingJob class for work that will utilize forking children., (*3)

Instantiate JobRunner, and add your jobs using the addJob(JobDefinition $definition) method. Then execute the run() method in a loop to daemonize the process., (*4)

Try the example in the examples folder by running php examples/jobrunner.php., (*5)

Setting options

  • new JobDefinition() accepts 5 parameters: First, a required job class name (e.g. Vendor\Package\Job::class or 'Vendor\Package\Job'). The next 4 are optional:
    • enabled may be set to "false" to disable the job. By default, it is set to "true".
    • run_time may be set to a time at which a job should be run (e.g. "11:30").
    • interval may be set to an interval (in seconds) on which the job should run (e.g. 3600 to run every hour).
    • max_run_time may be set (in seconds) for preventing a job to run longer than a certain time (e.g. 86400 to stop running after a day)
  • JobRunner->addJob() accepts one parameter: The previously defined JobDefinition
  • To set the number of child workers in a forking job, and the number of work units they should process, override __construct in ForkingJob to set your own settings:
    • $this->setNumChildren(int) sets the max number of children your job can have.
    • $this->setItemCount(int) sets the amount of work each child should do. See examples/ForkingComplimenter.php for an example.
    • Note: You should still call parent::__construct($logger) before using the above methods.

Caveats

  • You need to specify declare(ticks=1); before inclusion of the fork-daemon library, otherwise signals wont be handled. This must be done in the main PHP file, as declare(ticks=N); only works for the file, and files included by the file, in which it is declared in. Reference: PHP Documentation
  • OSX and Windows are unsupported.

License

Copyright 2015 Barracuda Networks, Inc. Licensed under the MIT License, (*6)

The Versions

15/05 2018

dev-master

9999999-dev https://github.com/barracudanetworks/jobrunner

A library to create and run jobs in PHP.

  Sources   Download

MIT

The Requires

 

The Development Requires

php cron daemons

05/01 2018
05/01 2018

dev-update_forkdaemon_version_constraint

dev-update_forkdaemon_version_constraint https://github.com/barracudanetworks/jobrunner

A library to create and run jobs in PHP.

  Sources   Download

MIT

The Requires

 

The Development Requires

php cron daemons

16/01 2017
12/01 2017
12/01 2017

dev-add-a-getter-to-forkingjob

dev-add-a-getter-to-forkingjob https://github.com/barracudanetworks/jobrunner

A library to create and run jobs in PHP.

  Sources   Download

MIT

The Requires

 

The Development Requires

php cron daemons

29/09 2016
29/09 2016

dev-bugfix/put_fork_daemon_back_to_private

dev-bugfix/put_fork_daemon_back_to_private https://github.com/barracudanetworks/jobrunner

A library to create and run jobs in PHP.

  Sources   Download

MIT

The Requires

 

The Development Requires

php cron daemons

26/09 2016
22/04 2016
09/02 2016
09/02 2016
09/02 2016

dev-task/update-readme

dev-task/update-readme https://github.com/barracudanetworks/jobrunner

A library to create and run jobs in PHP.

  Sources   Download

MIT

The Requires

 

The Development Requires

php cron daemons

05/02 2016

0.3.4

0.3.4.0 https://github.com/barracudanetworks/jobrunner

A library to create and run jobs in PHP.

  Sources   Download

MIT

The Requires

 

The Development Requires

php cron daemons

05/02 2016

0.3.3

0.3.3.0 https://github.com/barracudanetworks/jobrunner

A library to create and run jobs in PHP.

  Sources   Download

MIT

The Requires

 

The Development Requires

php cron daemons

05/02 2016

0.3.2

0.3.2.0 https://github.com/barracudanetworks/jobrunner

A library to create and run jobs in PHP.

  Sources   Download

MIT

The Requires

 

The Development Requires

php cron daemons

05/02 2016

0.3.1

0.3.1.0 https://github.com/barracudanetworks/jobrunner

A library to create and run jobs in PHP.

  Sources   Download

MIT

The Requires

 

The Development Requires

php cron daemons

05/02 2016

0.3.0

0.3.0.0 https://github.com/barracudanetworks/jobrunner

A library to create and run jobs in PHP.

  Sources   Download

MIT

The Requires

 

The Development Requires

php cron daemons

03/02 2016

0.2.3

0.2.3.0 https://github.com/barracudanetworks/jobrunner

A library to create and run jobs in PHP.

  Sources   Download

MIT

The Requires

 

php cron daemons

29/01 2016

0.2.2

0.2.2.0 https://github.com/barracudanetworks/jobrunner

A library to create and run jobs in PHP.

  Sources   Download

MIT

The Requires

 

php cron daemons

12/01 2016

0.2.1

0.2.1.0 https://github.com/barracudanetworks/jobrunner

A library to create and run jobs in PHP.

  Sources   Download

MIT

The Requires

 

php cron daemons

30/12 2015

0.2.0

0.2.0.0 https://github.com/barracudanetworks/jobrunner

A library to create and run jobs in PHP.

  Sources   Download

MIT

The Requires

 

php cron daemons

15/12 2015

0.1.1

0.1.1.0 https://github.com/barracudanetworks/jobrunner

A library to create and run jobs in PHP.

  Sources   Download

MIT

The Requires

 

php cron daemons

14/12 2015

0.1.0

0.1.0.0 https://github.com/barracudanetworks/jobrunner

A library to create and run jobs in PHP.

  Sources   Download

MIT

The Requires

 

php cron daemons