読者です 読者をやめる 読者になる 読者になる

$shibayu36->blog;

株式会社はてなでエンジニアをしています。プログラミングや読書のことなどについて書いています。

Cinnamon now supports concurrency execution of task

Cinnamonのタスク並列実行を正式にリリースしました。インストールするとデフォルトでは全ホスト同時に実行されるようになります。

参考

またconcurrencyという項目でタスクごとに最大並列ホスト数を制限することが出来ます。例えば以下のように設定すると、

use Cinnamon::DSL;

set concurrency => {
    restart        => 1,
    'server:setup' => 2,
};

role production  => [qw(server1 server2 server3)];

task update => sub {
    my ($host, @args) = @_;
    # ...
};
task restart => sub {
    my ($host, @args) = @_;
    # ...
};

task server => {
    setup => sub {
        my ($host, @args) = @_;
        # ...
    },
};
  • updateは3ホスト同時に動く
  • restartは1ホストずつ実行される
  • server:setupは2ホストずつ実行される

のようになります。

どうぞご利用ください。