我运行的是由supervisord(http://supervisord.org/)控制的Akka Cluster(版本2.5.0)。我的问题是,当我停止一个带有supervisorctl stop my-service
的akka节点时,akka节点停止,但没有足够的时间从akka集群注销自己,而且其他节点不控制(即)单身演员。
我的主管配置如下所示:
[program:my-service]
command=java -jar -Dconfig.file=application-1.conf -Dfile.encoding=UTF-8 my_service.jar
directory=/data/my-service
autorestart=true
autostart=true
user=lm-service
startsecs=3
startretries=3
stopsignal=KILL
stopwaitsecs=10
redirect_stderr=false
stdout_logfile=/data/my-service/logs/stdout
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=10
stdout_capture_maxbytes=1MB
stderr_logfile=/data/my-service/logs/stderr
stderr_logfile_maxbytes=1MB
stderr_logfile_backups=10
stderr_capture_maxbytes=1MB
我是否必须在我的akka应用程序中添加一些关闭挂钩,或/并且我是否必须更改配置中的stopsignal
参数?
答案 0 :(得分:2)
停止信号应为from selenium import webdriver
driver = webdriver.Firefox()
driver.get('http://www.w3c.org')
element = driver.find_element_by_name('q')
element.send_keys('hi mom')
element_text = element.text
element_attribute_value = element.get_attribute('value')
print (element)
print ('element.text: {0}'.format(element_text))
print ('element.get_attribute(\'value\'): {0}'.format(element_attribute_value))
element = driver.find_element_by_css_selector('.description.expand_description > p')
element_text = element.text
element_attribute_value = element.get_attribute('value')
print (element)
print ('element.text: {0}'.format(element_text))
print ('element.get_attribute(\'value\'): {0}'.format(element_attribute_value))
driver.quit()
。 SIGTERM
将触发akka的协调关闭系统,在这种情况下,您的群集节点应正确离开群集。参见:
但是,这并不能保证其他节点能够及时控制。请参阅此引文 http://doc.akka.io/docs/akka/current/scala/cluster-singleton.html:
请注意,在切换过程中没有活动的单身人士的时间很短。