Play Framework 1.6 怎么启用 play status 命令查看服务状态

Play Framework 1.6 默认无权运行 play status 命令,运行的时候报如下错误:

> play status
~        _            _
~  _ __ | | __ _ _  _| |
~ | '_ \| |/ _' | || |_|
~ |  __/|_|\____|\__ (_)
~ |_|            |__/
~
~ play! 1.6.0, https://www.playframework.com
~
~ Cannot retrieve the application status... (401)
~

这是因为 Play Framework 1.6 加入了更严格的安全策略,需要配置 status 命令的访问秘钥才能执行。方法是,在 application.conf 文件里添加 application.statusKey 配置:

 

application.statusKey=m1T5wS7F8n89lUiA

秘钥的值自行生成。

配置好后重启 Play Framework 就可以使用 play status 命令了:

> play status
~        _            _
~  _ __ | | __ _ _  _| |
~ | '_ \| |/ _' | || |_|
~ |  __/|_|\____|\__ (_)
~ |_|            |__/
~
~ play! 1.6.0, https://www.playframework.com
~
~ Status from http://localhost:9000/@status,
~
Jobs execution pool:
~~~~~~~~~~~~~~~~~~~
Pool size: 10
Active count: 2
Scheduled task count: 26951
Queue size: 9


Scheduled jobs (12):
~~~~~~~~~~~~~~~~~~~~~~~~~~
...

另外还有一种查询 Play Framework 运行状态的方法,那就是通过页面地址访问:

curl --location --request GET 'http://120.0.0.1:9000/@status' --header 'authorization:m1T5wS7F8n89lUiA'

因为要设置 http 头,所以也可以使用 postman 等工具来访问。

当然,如果觉得麻烦,也可以使用 chrome 浏览器的 ModHeader 插件来添加 http 头。这样就可以直接在 chrome 浏览器里查看运行状态了。


前一篇:
后一篇:

发表评论