CA-AutoSys
view release on metacpan or search on metacpan
examples/web/README view on Meta::CPAN
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
This directory contains a little sample web server that can be used as a basis
for more elaborate ways to control your AutoSys jobs.
The web server makes extensive use of the excellent Perl modules HTML::Macro
and Net::HTTPServer. Those two modules are not mentioned in the dependency list
of CA::AutoSys for obvious reasons. Make sure you have them installed - otherwise
this example web server won't come up...
After starting the web server with the following command:
./httpd.pl --job=YOUR_JOB_PREFIX% --dsn=dbi:Sybase:server=YOUR_AUTOSYS_SERVER
you should see something like the following in your console window:
examples/web/httpd.pl view on Meta::CPAN
#
# $Id: httpd.pl 45 2007-06-21 11:01:37Z sini $
#
use strict;
use warnings;
use Net::HTTPServer;
use Getopt::Long;
use CA::AutoSys;
use HTML::Macro;
use Pod::Usage;
my $port = 8081;
my $docroot = $ENV{PWD};
my $user = "autosys";
my $passwd = "autosys";
my $dsn;
my $job;
examples/web/httpd.pl view on Meta::CPAN
printf("changing status of %s to %s...", $name, $1);
$rc = $autosys->send_event(job_name => $name, event => 'CHANGE_STATUS', status => $1);
} else {
printf("sending event %s to %s...", $req->Env($var), $name);
$rc = $autosys->send_event(job_name => $name, event => $req->Env($var));
}
printf("%s\n", $rc == 1 ? "done" : "failed");
}
}
my $html = new HTML::Macro("$docroot/autosys.html");
my $jobs_loop = $html->new_loop("jobs", "id", "background", "job_name1", "job_name2", "last_start", "last_end", "status", "select_class");
$jobid = 1;
my $jobs = $autosys->find_jobs($job);
while (my $job = $jobs->next_job()) {
print_job_status($jobs_loop, $res, $job, 0);
}
$res->Print($html->process());
( run in 0.515 second using v1.01-cache-2.11-cpan-49f99fa48dc )