Proclet::Declateでは今までも
use Proclet::Declare;
service('web', 'plackup -p 9413 app.psgi');
service('memcached', qw!/usr/local/bin/memcached -p 11211!);
と起動するコマンドを直接書けていたのですが、Procletのオブジェクトインターフェイスではコードリファレンスしか受け付けていませんでしたので、0.21をサポートしました。
https://metacpan.org/module/Proclet
コードリファレンスに加えて、文字列と配列のリファレンスでサービスを指定できます
use Proclet;
my $proclet = Proclet->new();
# 文字列
$proclet->service(
tag => 'web',
code => 'plackup -p 9413 app.psgi'
);
# 配列のリファレンス
$proclet->service(
tag => 'memcached',
code => [qw!/usr/local/bin/memcached -p 11211!]
);
# コードリファレンス
$proclet->service(
tag => 'worker',
code => sub { MyWorker->run }
);
$proclet->run;
Proclet::Declareやprocletコマンドもこっちの実装を利用するようにしてコードがすっきりしました。
あと最近のアップデートで、サービスを定義した順に起動するような変更も入っています。
どうぞご利用ください