如何检查Cloud Pub / Sub模拟器是否已启动并正在运行?

时间:2019-08-08 13:22:29

标签: go google-cloud-pubsub

我具有通过使用Cloud Pub / Sub模拟器在本地开发和测试的GC功能。

我希望能够从Go代码中检查Cloud Pub / Sub模拟器是否已启动并正在运行。如果没有,我想通知开发人员,他/她应在本地执行代码之前启动模拟器。

模拟器启动时,我注意到一条线

  

信息:服务器已启动,正在侦听8085

也许我可以检查端口是否可用或类似。

1 个答案:

答案 0 :(得分:1)

我猜您已经使用了以下命令:

gcloud beta emulators pubsub start

您将获得以下输出:

[pubsub] This is the Google Pub/Sub fake.
[pubsub] Implementation may be incomplete or differ from the real system.
[pubsub] 
[pubsub] INFO: IAM integration is disabled. IAM policy methods and ACL checks are not supported
[pubsub] 
[pubsub] INFO: Applied Java 7 long hostname workaround.
[pubsub] 
[pubsub] INFO: Server started, listening on 8085

如果查看第二条INFO消息,您会注意到进程名称将为JAVA。现在,您可以运行以下命令:

sudo lsof -i -P -n

获取所有侦听端口和应用程序,输出应如下所示:

COMMAND PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

XXXX
XXXX
java    XXX  XXX    XX   IPv4  XXX      0t0    TCP 127.0.0.1:8085 (LISTEN)

或者,您可以修改前面的命令以仅显示所需端口上发生的事情:

sudo lsof -i -P -n | grep 8085