Fabric 并行任务未绑定到特定集合

发布于 2024-11-18 19:54:31 字数 389 浏览 1 评论 0原文

我正在寻找一种使用多运行定义任务的方法,该任务将在命令行中定义的一组服务器上运行(通过角色或主机)。

到目前为止我见过的所有示例都尝试执行以下操作:

env('app-nodes').multirun('some command')

但我不想对角色进行硬编码。我想用 fab -R ... 来定义它。我在这里有什么选择?

我希望这能起作用:

@task
def some_task():
    env().multirun('some command')

但这会抛出 TypeError: '_AttributeDict' object is not callable

I'm looking for a way to define a task with multirun, which will run on a set of servers defined in the commandline (via roles or hosts).

All examples I've seen so far, try to do something like:

env('app-nodes').multirun('some command')

But I don't want to hardcode the role. I'd like to define it with fab -R ... instead. What are my options here?

I'd expect this to work:

@task
def some_task():
    env().multirun('some command')

but that throws TypeError: '_AttributeDict' object is not callable

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我不会写诗 2024-11-25 19:54:31

您可能会想要使用任务参数并将其输入到 tav 的 env() 中:
http://docs.fabfile.org/en /1.1.1/usage/fab.html#per-task-arguments

另外,为什么您会期望主机有一个空集来工作?

You'll prolly want to use task args and feed it into tav's env() that way:
http://docs.fabfile.org/en/1.1.1/usage/fab.html#per-task-arguments

Also why would you expect an empty set for hosts to work?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文