code-meme/daemon-bundle

本包最新版本(dev-master)没有提供许可证信息。

Symfony DoctrineBundle

安装次数: 6,546

依赖项: 0

建议者: 0

安全: 0

星星: 0

关注者: 2

分支: 10

类型:symfony-bundle

dev-master 2013-07-04 13:25 UTC

This package is not auto-updated.

Last update: 2024-09-28 12:48:27 UTC


README

#CodeMemeDaemonBundle project status # ##概述## CodeMemeDaemonBundle 是由 Kevin Vanzonneveld 创建的 PEAR 库 System_Daemon 的包装器。

这将使您能够轻松安装 symfony 扩展,并将您的 Symfony2 控制台脚本转换为系统守护进程。

使用此功能需要在您的 PHP 二进制文件中配置 pcntl。在我的 Ubuntu 服务器上,我可以通过以下命令轻松安装 pcntl

sudo apt-get install php-5.3-pcntl-zend-server 

##System_Daemon PEAR 包## System_Daemon 是一个 PHP 类,允许开发者在 Linux 系统上创建自己的守护进程应用程序。该类专注于创建和生成独立的守护进程

更多信息请访问

##DaemonBundle 配置## 将 CodeMeme\Daemonbundle 放置在您的 src 目录中,并执行以下操作

依赖项

将此包添加到您的依赖配置

[CodeMemeDaemonBundle]
    git=http://github.com/CodeMeme/CodeMemeDaemonBundle.git
    target=/bundles/CodeMeme/Bundle/CodeMemeDaemonBundle

autoload.php

将以下内容添加到您的 autoload.php 文件中

$loader->registerNamespaces(array(
    //...
    'CodeMeme'     => __DIR__.'/../vendor/bundles',
));

appKernel.php

将 CodeMemeDaemonBundle 添加到您的内核引导序列

public function registerBundles()
{
    $bundles = array(
        //...
        new CodeMeme\Bundle\CodeMemeDaemonBundle\CodeMemeDaemonBundle(),
    );
    //...

    return $bundles;
}

config.yml

默认情况下,系统守护进程具有合理的配置。如果您需要更改任何配置设置,您可以通过将此配置添加到您的项目配置中来实现。只有需要更改的值应添加,包扩展将合并您的守护进程配置到其默认配置中。

app/config.yml

#CodeMemeDaemonBundle Configuration Example
code_meme_daemon:
    daemons:
        #creates a daemon using default options
        example: ~

        #an example of all the available options
        explicitexample:
            appName: example
            appDir: %kernel.root_dir%
            appDescription: Example of how to configure the DaemonBundle
            logLocation: %kernel.logs_dir%/%kernel.environment%.example.log
            authorName: Jesse Greathouse
            authorEmail: jesse.greathouse@gmail.com
            appPidLocation: %kernel.cache_dir%/example/example.pid
            sysMaxExecutionTime: 0
            sysMaxInputTime: 0
            sysMemoryLimit: 1024M
            appUser: apache
            appGroup: apache
            appRunAsGID: 1000
            appRunAsUID: 1000

运行用户

您可以根据应用程序的最佳需求以不同的用户或组运行守护进程。默认情况下,它将解析从命令行运行守护进程的用户和组,但如果您想以不同的用户运行,可以使用 appUser、appGroup 或 appRunAsGID、appRunAsUID 选项。请记住,如果您需要以不同的用户运行,则必须以 sudo 或超级用户身份启动守护进程。

要查找特定用户的组 ID 和用户 ID,您可以使用以下命令。

jesse@picard:~/ninethousand.org$ id -u www-data
jesse@picard:~/ninethousand.org$ id -g www-data

##创建守护进程## 以下链接是示例项目中使用系统守护进程的示例

##使用## 一旦您将 symfony 控制台命令守护进程化,您就可以像这样从命令行简单地运行它们

jesse@picard:~/codememe$ php app/console jobqueue:start

jesse@picard:~/codememe$ php app/console jobqueue:stop

jesse@picard:~/codememe$ php app/console jobqueue:restart