#!/usr/bin/perl

my $scriptname;

BEGIN {
    $scriptname = `basename $0`;
    chomp $scriptname;

    sub print_help {
    print <<_STR_;
NAME:
    $scriptname: generic cron script for OPALS sites.
SYNOPSIS:
    PERL5LIB=/www/\$VERSION/module OPALS_CONF=/etc/opals/conf/\$SITECODE $0
_STR_
    }

    if (!$ENV{'PERL5LIB'} || !$ENV{'OPALS_CONF'}) {
        print_help();
        exit 1;
    }
}

use strict;

use Opals::Context;
use Opals::Mail qw(
    mail_sendQueuedMail
);
use Opals::Marc21 qw(
    mc21_import
    mc21_export
);
use Opals::MarcXml qw(
    mxml_processReplaceItemType
    mxml_processGE852
);
use Opals::Session qw(
    SessionHdl_clean
);
use Opals::Tb_Import qw(
    tb_m21_import
    tb_csv_import
);

use Opals::Eq_Import qw(
    eq_csv_import
);
use Opals::Template qw(
    tmpl_preference
);
use Opals::WebServiceClient qw(
    wsc_sendNextUpdateRequest2Union
    wsc_sendCircData
);
use Opals::Indexer qw(
    ind_updateEbook
);
use Opals::Report qw(
    rpt_preDueEmailNotice
);
use Opals::Circulation qw(
    circ_anonymizeLoan
);

use Opals::Eq_SolrIndex;
use Opals::Eq_GlobalEditor;
use Opals::Tb_Mail;
use Opals::BackgroundJobs qw(
    bgjob_execute
);
my $dbh = Opals::Context->dbh();
END { $dbh->disconnect(); }


################################################################################
my $backupRunning = `ps -ef | grep 'opals/bin/backup' | grep -v grep`;
if ($backupRunning) {
    print "Backup is running...\n";
    exit 1;
}
my $scriptname = `basename $0`;
chomp $scriptname;
my $isRunning = `ps -ef | grep $scriptname | grep $ENV{'OPALS_CONF'} | grep -v grep | wc -l`;
chomp $isRunning;
if ($isRunning > 1) {
    print "is running...\n";
    exit 2;
}

############################################################
my ($DB) = $dbh->selectrow_array('select database()');
print "Processing daily requests on $DB...\n";

circ_anonymizeLoan($dbh);


exit 0;
