Brad Adkins > DBIx-JCL-0.12 > DBIx::JCL

Download:
DBIx-JCL-0.12.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.12   Source  

NAME ^

DBIx::JCL - Job Control Library for database load tasks.

SYNOPSIS ^

    # file: test_job.pl
    use strict;
    use warnings;
    use DBIx::JCL qw( :all );

    my $jobname = 'name_of_job';
    sys_init( $jobname );

    # perform database tasks calling DBIx-JCL functions
    # ...

    sys_end();
    exit sys_get_errorlevel();

DESCRIPTION ^

This documentation describes the perl module DBIx-JCL.pm and the use of standardized perl scripts which together provide a common job execution environment to support database backend load and maintenance tasks.

RATIONALE ^

Provide a suite of standard functions that can be shared across all batch job scripts used to support database back end tasks. Provide a standardized approach for the development of all back end database job scripts. Centralize the administration and access to configuration data. Enforce coding standards and documentation. Abstract the sql used to support back end processes from the task processing logic, by placing all sqlinto an sql library. This will make maintenance of back end sql a trivial task. Provide generalized logging, notification, and system information functions.

If you want to write a robust database extract and load job with complete support for logging and error notification, and do it in 25 lines of code, read on.

OPTIONS ^

Database maintenance and load jobs written using DBIx-JCL support the following options out-of-the-box, with no additional work required on your part.

Job Options:

    | -r   | Run job
    | -rb  | Run job in the background
    | -rs  | Run job at requested start time
    | -rr  | Restart job after failure
    | -rde | Run using specified DE number
    | -x   | Pass extra parameters to job script
    | -c   | Specify database connections
    | -v   | Verbose
    | -vv  | Very Verbose
    | -ng  | No greeting
    | -tc  | Test database connections

Logging Options:

    | -lf  | Log filename
    | -lg  | Log generations
    | -ll  | Log log levels
    | -lp  | Log file prefix
    | -lr  | Log archive file radix
    | -cl  | Log console levels

Notificaiton Options:

    | -ne  | Notify email on completion
    | -np  | Notify pager on completion
    | -et  | Email notification to list
    | -el  | Email notification levels
    | -pt  | Pager notification to list
    | -pl  | Pager notification levels

Information Options:

    | -dp  | Display job parameters
    | -dq  | Display job querys
    | -dd  | Display job documentation
    | -dl  | Display last log file
    | -da  | Display archived log files
    | -dj  | Display a list of job scripts
    | -dja | Diaplay jobs active in the system

Utility Options:

    | -se  | Send email message
    | -sp  | Send pager message
    | -um  | Util no move files
    | -h   | Help
    | -ha  | Help on option arguments

Please see "ADDITIONAL INFORMATION" below.

CAPABILITIES ^

The DBIx-JCL modules provides many capabilities commonly needed in support of database maintenance jobs designed to run in a production environment. Below is a summary list of features and the types of functions provided to support those features.

Features

The following features have been designed in to the DBIx-JCL module:

Implementation

The features listed above have been implemented by providing [many] functions for use by your database mantenance jobs:

Please see "ADDITIONAL INFORMATION" below.

EXAMPLE JOB ^

Shown below is the standard approach to writing job scripts.

    ##@@name_of_script.pl,bin
    ##$$Description of this job

    use strict;
    use warnings;
    use DBIx::JCL qw( :all );

    # initialize
    # -------------------------------------------------------------------------

    my $jobname = 'name_of_script';
    sys_init( $jobname );

    my $dbenv1 = 'mydb1';
    my $mysql1 = sys_get_sql( 'query_number_1' );

    # main
    # -------------------------------------------------------------------------

    log_info( sys_get_dbdescr( $dbenv1 ) );
    db_connect( $dbenv1 );

    # do more db stuff here

    # end
    # -------------------------------------------------------------------------

    =begin wiki

    !1 NAME

    Name of script

    ----

    !1 DESCRIPTION

    Describe the job script here.

    ----

    !1 RECOVERY NOTES

    Document recovery notes here.

    ----

    !1 DEPENDENCIES

    Document dependencies here.

    =cut

    __END__

Please see "ADDITIONAL INFORMATION" below.

ADDITIONAL INFORMATION ^

Please see the documentation embedded in this source file for [LOTS!] of additional details on how to use JCL.pm. You can view this documentation using WikiText.pm module to format the WikiText content in this file. Hint: download and install WikiText.pm.

Thank you!

COPYRIGHT ^

Copyright 2008 Brad Adkins <dbijcl@gmail.com>.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts.

AUTHOR ^

Brad Adkins, dbijcl@gmail.com

syntax highlighting: