2

Taskサブクラスとして定義されたタスクがいくつかあり、次のようにroledefが設定されています。

env.roledefs = { "web": ["1.2.3.4"], "db": ["5.6.7.8"] }

class Foo(Task):
  name = "foo"

  def run(self):
    pass

foo = Foo()

デコレータを使用すると、@rolesタスクがモジュール内の関数である場合にタスクをデコレートできますが、これをタスククラスに適用する方法がわかりません。クラスまたはその実行関数の装飾が機能していないようです。

私はFabric1.4.0を使用しています

4

1 に答える 1

1

次のようにinitを使用できるはずだと思います。

def __init__(self):
     env.roles = ['web']

またはexecuteを使用します。

execute(foo, roles='web')
于 2012-09-13T23:55:33.843 に答える