playの勉強会をUstで参加?したため、ちょっと色々コードリーディングして、
動作を把握していこうかなぁと思います。
まずは、playコマンドを叩いて起動する部分について。
> ./play run myApplication
と実行したときの動作。
commandsディレクトリの中にXXXX.py(適当なファイル名)を追加して、COMMANDSに独自コマンド名のリストを定義して、executeメソッドで起動をする。
動作を把握していこうかなぁと思います。
まずは、playコマンドを叩いて起動する部分について。
> ./play run myApplication
と実行したときの動作。
- playコマンド
- play_command、application_path、remain_argsを取得
- framework/pym/play/application.py
- application_pathからconf/application.conf、conf/routesの存在チェック。application.confのパース
- framework/pym/play/cmdloader.py
- commands配下にあるコマンドスクリプト一覧を取得する。
- コマンドスクリプトのCOMMANDからplay_commandと一致するスクリプトファイルを取得する。
- 一致した場合はスクリプトファイルのexecuteを実行する。
- runの場合:base.pyの中のrunを実行し、java_cmdでplay.jarを起動する引数を作成して、Popenで子プロセスを立ち上げる。
独自コマンド追加
commandsディレクトリの中にXXXX.py(適当なファイル名)を追加して、COMMANDSに独自コマンド名のリストを定義して、executeメソッドで起動をする。
java -javaagent:/Users/kazuhiro/work/play/play-1.2.3/framework/play-1.2.3.jar -Dfile.encoding=utf-8 -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n -Dplay.debug=yes -classpath [設定するパス]
-Dapplication.path=/Users/kazuhiro/work/play/play-1.2.3/myApplication -Dplay.id= play.server.Server
0 件のコメント:
コメントを投稿