Php非同期の技法
Upcoming SlideShare
Loading in...5
×
 

Php非同期の技法

on

  • 615 views

 

Statistics

Views

Total Views
615
Views on SlideShare
611
Embed Views
4

Actions

Likes
0
Downloads
0
Comments
0

1 Embed 4

https://twitter.com 4

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Php非同期の技法 Php非同期の技法 Presentation Transcript

  • PHP非同期の技法 Shogo Kawahara <kawahara@bucyou.net> #phpkansai 2014.06.28
  • ● 東京から仙台まで歩く (いま宇都宮でセーブし ている) ● PHPで (ほかの言語ではできるような) PHPっ ぽくないことをやる ○ PHPとJavaScriptの噺: http://www.slideshare. net/ooharabucyou/phpjava-script ● PHPは保守でしかやってない :) 最近の趣味
  • 今回のテーマは “非同期” ● PHPで時間のかかるバックグラウンドな処理を 実装したい ○ 管理画面とかで巨大なファイル作ったり ○ 変な計算したり POST /makeCsv 202 Accepted Start to make CSV file BackgroundWeb ServerUser
  • 今回紹介する方法 ● Background Process ● React ● Hack Lang (おまけ)
  • Backgrond Process https://github. com/kohkimakimoto/BackgroundProcess ● Demo: https://github.com/kawahara/async-php-demo-1 ● Background でプロセスを起動させる便利なラ イブラリ ● プロセス用PHP作って nohup で起動 ○ プロセス管理用ファイルやらを作って、正常 終了したら勝手に削除してくれる ○ とてもお気軽
  • React PHP ● http://reactphp.org/ ● まるで node.js のようなページの佇まい ● コールバック天国へようこそ ● サーバアプリを書いちゃえ ● Demo: https://github.com/kawahara/async-php-demo-2
  • Hack Lang ● http://hacklang.org/ ● もはや PHP じゃない ● async function という素敵な機能あり ● FastCGI mode のとき、今回の事例のような用 途で使うのは辛いか? ● Demo: https://gist.github.com/kawahara/5aa3a45d575a07384af6
  • まとめ ● PHPでも非同期な実装はできる ● でも、余裕あるならなんかメッセージキューな サーバとか組んだほうがいいっす。 (RabbitMQ とか) ● Hack Lang の async は本来の処理以外 (logging とか profiling) や、複数のResourceに 並行にアクセスする際に利用できそう。そういう Hack Lang 用のフレームワークができる気がす る。