最近在研究与迁移HHVM,在过程中遇到不少坑,比如遇到了fastcgi_finish_request这个函数问题。
fastcgi_finish_request是由FPM特供的一个函数,主要实现了在结束http请求之后,php-cgi仍然继续执行fastcgi_finish_request后面的代码,可以实现的一个简单的异步操作,具体使用可以参考之前的文章:《使用fastcgi_finish_request()提高请求响应速度》
在不断摸索之后,终于找到了HHVM下fastcgi_finish_request的替代方案,
HHVM 也提供了一个类似的函数:register_postsend_function
以上是HHVM官方的idl,对此函数的描述,它实现了类似fastcgi_finish_request的功能,由于官方wiki非常少,
在尝试之后,此函数的使用方式如下:
register_postsend_function是注册一个回调函数用于http请求结束时触发,参数类似call_user_func,
用法如下:
中第一个参数为回调函数,可以是一个匿名函数,也可以是预定义的函数,也可以是类的公共函数或静态函数,
后续的参数对应于传入回调函数的形参。
如:
或者:
以上两个例子中的$a对应于传入的形参$bar
在类中使用如下
使用注意:
因为register_postsend_function是注册回调函数,并且是在http结束之后才会触发,
并不像fastcgi_finish_request是直接在上下文中,
所以它并没有保持发起此函数时的上下文,回调函数里面的现场需要显式的还原,可以通过函数参数来还原现场。
피드 구독하기:
글 (Atom)
Articles
-
요즘 회사 내부에서 쇼핑 관련 추천이나 여러가지 고민을 해보던중에... 발견한 내용...ㅋㅋㅋ 울 회사는 외부 연구기관에다가 의뢰하여 개별 시나리오를 작성하여 상품 수명 등 여러가지를 해봤는데... 이미 이런 추천 내용이 있어... 다시 고민...
-
Load Balance Mysql Slaves Using MySQLProxy I am sure you all have read about MySQL replication, like Master-Master, Single Master - ...
-
아래 기술한 5가지는 해 놓으시면 좋습니다. 차후에 관련해서 큰 고민을 덜어놓을수 있으니까요. 1. 과학기술인공제회 가입 2. 한이음 멘토 신청 3. 산업통상자원부 전문가 풀 등록 4. 감리원 교육 신청 5. Skill up of an E...
-
百度搜索网站登录口:http://www.baidu.com/search/url_submit.html Google网站登录口:http://www.google.com/intl/zh-CN/add_url.html 孙悟空网站登录口:http://www.sunwuk...
-
webman21님의 블로그 | webman21 http://blog.naver.com/webman21/17890936 인덱스를 선택하는 것은 많은 SQL Server DBA와 개발자에게 신비로운 대상이다. 물론 우리는 인...
-
1. Virtual Columns MariaDB 5.2부터 지원되는 Virtual Columns은 가상의 칼럼을 둬서 수식과 조건문을 사용해 데이터의 가공 결과를 저장하는 것을 말한다. 사용 시 PERSISTENT(stored)와 VIRTUAL...
-
Overview “ 트위터의 새로운 분산 관리 라이브러리 Gizzard를 소개합니다. “를 알아보던 당시 부사수 “임창선”님과 진행했던 또 다른 해외 사례 “Tumblr”를 정리해보았습니다. Tumblr 는 국내에서는 사용자가 많지는 않지만,...
-
I’m happy to post today there is now support for a generic push notifications plugin for PhoneGap Build . The new plugin is called PushP...
-
눈도 고치고, 코도 고치고, 입도 고치고, 여기 저기 성형 수술한 사람을 얼마전 TV에서 보았다. 다들 놀랐다. 그렇게 많은 돈을 들여서 수술했음에도 우리가 생각했던 그런 미인은 아니였다. 이상하게 보이기까지 했다. 눈도 크고, 코도 오똑하고, 입...
-
나는 Python이 좋다. 하지만 Python은 느리다 뭐가 느리냐 하면 지명적인 것이지만 사칙연산이 느리다. 하지만 동적으로 형이 정의되는 다른 스크립트 언어(Perl, Ruby, Javascript)도 C, Java처럼 컴파일을 하는 정적형...