承接 barracudanetworks/jobrunner 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

barracudanetworks/jobrunner

最新稳定版本:1.0.0

Composer 安装命令:

composer require barracudanetworks/jobrunner

包简介

A library to create and run jobs in PHP.

README 文档

README

Code Climate Build Status Test Coverage

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

Usage

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

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

Try the example in the examples folder by running php examples/jobrunner.php.

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

统计信息

  • 总下载量: 20.7k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 7
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 7
  • Watchers: 8
  • Forks: 4
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2015-12-15