gpt4 book ai didi

python - Fabric.api 执行陷入循环

转载 作者:太空宇宙 更新时间:2023-11-03 16:35:40 25 4
gpt4 key购买 nike

请在下面找到我的 fabfile.py 内容。您可能想更改 env.hosts 列表来自行检查。

请注意,直接调用 chk_* 方法将被执行,但也会针对非预期主机执行,例如chk_kafka 还针对 Zookeeper 节点组执行。

感谢任何帮助。感谢您对我的包容。

#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
auto ssh
"""
import os
from fabric.colors import *
from fabric.api import *
from fabric.context_managers import *
from fabric.contrib.console import confirm

env.user = 'centos'
env.password = 'centos'

env.hosts = [
'10.41.121.78',
'10.41.121.79',
'10.41.121.80',
'10.41.121.81',
'10.41.121.82',
'10.41.121.83',
'10.41.121.84',
'10.41.121.85'
]

clusters = env.hosts

env.hostnames = dict([h, 'gt-%d' % (i + 1)] for i, h in enumerate(clusters))

env.roledefs = {
'clusters' : clusters,
'kafka' : clusters[0:5],
'zookeeper' : clusters[5:8]
}

@task
def status(op=None):
if op=='zookeeper':
execute(chk_zk)
elif op == 'kafka':
execute(chk_kafka)
else:
execute(chk_all)

@roles('zookeeper')
def chk_zk():
run('jps')

@roles('kafka')
def chk_kafka():
run('jps')

@roles('clusters')
def chk_all():
run('jps')

最佳答案

向方法“status”添加 @runs_once 注释解决了我的问题。

关于python - Fabric.api 执行陷入循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37236022/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com