【发布时间】:2017-08-17 11:50:45
【问题描述】:
我有一项服务,该服务依赖于 Cassandra 正常启动并且集群已启动并准备就绪。
为确保满足依赖顺序,我有以下单元文件
[Unit]
Requires=cassandra.service
After=cassandra.service
[Service]
Environment=JAVA_HOME=/usr/java/jre
ExecStart=@bringup.instance.path@/webapps/bringup-app/bin/bringup
TimeoutStartSec=0
ExecStop=
PIDFile=@bringup.instance.path@/logs/bringup.pid
Restart=always
[Install]
WantedBy=multi-user.target
如何确保启动应用程序在尝试启动前等待 30 秒?目前,虽然它是在 Cassandra 之后启动的,但我注意到 Cassandra 集群尚未启动,因此从启动应用程序连接到 Cassandra 作为启动的一部分的任何尝试都失败了。
因此我想添加一个延迟。可以通过单元文件实现吗?
【问题讨论】:
-
cassandra-service 应该只在完全启动后返回。也就是说,启动器应该等到服务准备好,然后退出。此外,cassandra-service 可以使用套接字激活。
标签: systemd