当前位置:首页 > 软件开发学习 > PHP学习 > 正文内容

BAE3.0中的phpworker详解

admin6年前 (2015-06-24)PHP学习811

BAE3.0新增了worker类型的应用,那么到底该如何使用worker类型?它能用在什么地方了?


传统的WEB类型,主要用来创建WEB应用;这种应用的特点是通过HTTP请求来驱动应用逻辑;但有时候我们需要长期在后台跑一些任务,例如爬虫,不停的去爬取各种网络资源,通过WEB类型就不好实现了。


worker类型最适合的就是用来创建需要长期在后台运行任务的应用。



BAE3.0里面,通过 supervisor 来管理worker类型的应用;在你的应用的根目录下,需要放置一个名字为 ‘supervisord.conf’ 的配置文件,supervisor守护进程会按照这个配置文件来启动进程,并在进程出现异常退出的情况下进行重启。下面举个例子来看下这个配置文件有哪些配置项:


[program: spider]

command = php /home/bae/app/spider.php

numprocess = 2

autorestart = true

stdout_logfile = /home/bae/logs/spider.stdout.log

stderr_logfile = /home/bae/logs/spider.stderr.log


[program: foo]

command = php /home/bae/app/foo.php

numprocess = 1

autorestart = true

stdout_logfile = /home/bae/logs/foo.stdout.log

stderr_logfile = /home/bae/logs/foo.stderr.log

在上面这个例子中,我们指定了两个后台任务 ‘spider’ 和 ‘foo’:


第一个任务是执行 /home/bae/app/spider.php 这个脚本,并将标准输出和标准出错重定向到 /home/bae/logs 下;’numprocess’ 指定了要创建两个进程, 而 ‘autorestart’ 则表示当进程退出后,会被重新启动。


第二个任务是执行 /home/bae/app/foo.php 这个脚本,并将标准输出和标准出错重定向到 /home/bae/logs 下;’numprocess’ 指定了要创建一个进程, 而 ‘autorestart’ 则表示当进程退出后,会被重新启动。


以上是 supervisor.conf 中主要用到的配置项,更完整的配置项请参看 完整的配置文件格式请参看 http://supervisord.org/configuration.html#program-x-section-settings


在 spider.php 或  foo.php 中,我们通常应该实现一个长期循环的任务,例如  foo.php:


<?php


while(True){

echo "hello bae world\n";

sleep(3);

}


?>


扫描二维码推送至手机访问。

版权声明:本文由学无止境-开拓创新-ipvb学习网发布,如需转载请注明出处。

标签: phpworkerBAE3.0
分享给朋友:

相关文章

php过滤危险html代码

用PHP过滤html里可能被利用来引入外部危险内容的代码。有些时候,需要让用户提交html内容,以便丰富用户发布的信息,当然,有些可能造成显示页面布局混乱的代码也在过滤范围内。以下是引用片段:#用户发...

PHP header() 函数

  PHP header() 函数  PHP HTTP 函数  定义和用法  header() 函数向客户端发送原始的 HTTP 报头。  认识到一点很重要,即必须在任何实际的输出被发送之前调用 he...

php的header来定义一个php页面为utf编码或GBK编码

  php的header来定义一个php页面为utf编码或GBK编码  php页面为utf编码  header("Content-type: text/html; charset=utf-8...

php的session优化

php的session优化

这个问题很多做php开发朋友应该都有遇到过,一个启用了session_start 页面,由于执行时间过长。导致通一个用户访问,另外一个很简单的启用session_start页面一直阻塞着。 直到第一个...

计算并输出1000000次字符串比较和数字比较的耗时

//9.代码:计算并输出1000000次字符串比较和数字比较的耗时。 $str1="123"; $str2="145"; $a=microtime(tru...

PHP语言的优势?

 随着移动互联网的兴起,互联网行业正向更加智能化的Web3.0时代迈进,中国互联网 行业进入了高速发展的势态,PHP语言已经为大部分企业广泛应用和重视(如:新浪、百度、腾讯、TOM、淘宝、搜...