The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!/usr/bin/env perl

use 5.008;
use strict;
use warnings;
use Getopt::Long;
use Helios::Config;
use Helios::Job;

our $VERSION = '2.00';

# get the command line options
our $VERBOSE = 0;
GetOptions('verbose' => \$VERBOSE );

# get the global config
my $config = Helios::Config->parseConfig();

while (<>) {
	chomp;
	my $jobxml = '<job><params><filename>'.$_.'</filename></params></job>';
	my $job = Helios::Job->new();
	$job->setConfig($config);
	$job->setJobType('Helios::App::MP3IndexerService');
	$job->setArgString($jobxml);
	my $jobid = $job->submit();
	print "Submitted job ",$jobid," for file ",$_,"\n" if $VERBOSE;
}

=head1 NAME

mp3submit4index.pl - submit jobs to Helios::App::MP3IndexerService for indexing

=head1 SYNOPSIS

 # start the service daemon
 helios.pl MP3IndexerService
 
 # find all the .mp3 files in your file system
 # and submit jobs to Helios to index them
 find / -name "*\.mp3" -print | mp3submit4index.pl

=head1 DESCRIPTION

This is a sample application to demonstrate some of the features of the 
Helios distributed job processing system and how to write services for it.

The mp3submit4index.pl command reads a list of filenames from STDIN and 
submits jobs to Helios for Helios::App::MP3IndexerService to process.

=head1 AUTHOR

Andrew Johnson, E<lt>lajandy at cpan dotorgE<gt>

=head1 COPYRIGHT AND LICENSE

Copyright (C) 2014 by Logical Helion, LLC.

This library is free software; you can redistribute it and/or modify
it under the terms of the Artistic License 2.0.

=cut