Skip to content

Commit

Permalink
Use Getopt::Long for simple option parsing
Browse files Browse the repository at this point in the history
  • Loading branch information
alexmv committed Mar 13, 2012
1 parent 17c6ec2 commit 93f6ae0
Showing 1 changed file with 25 additions and 2 deletions.
27 changes: 25 additions & 2 deletions bin/smokingit-worker
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,32 @@ use strict;
use warnings;
use lib 'lib';
use Smokingit::Worker;
use Getopt::Long;
use Socket qw//;

my $jobs = 5;
my $repos = "repos";
my $servers = ['127.0.0.1:4730'];

GetOptions(
"jobs|j=i", \$jobs,
"repo-path|repos|r=s", \$repos,
"gearman-server|server|s=s@", \$servers,
) or die "Invalid options";

die "Repository path $repos isn't writable!\n" unless -w $repos;

for my $s (@{$servers}) {
my ($host, $port) = split ':', $s, 2;
$port ||= 4730;
my $packed = Socket::inet_aton($host);
die "Can't resolve server $host!\n" unless $packed;
$s = Socket::inet_ntoa($packed) . ":" . $port;
}

my $worker = Smokingit::Worker->new(
repo_path => "repos",
job_servers => ['127.0.0.1:4730'],
max_jobs => $jobs,
repo_path => $repos,
job_servers => $servers,
);
$worker->run;

0 comments on commit 93f6ae0

Please sign in to comment.