From c4fc5f98ac08ef88122d8dc2703d85a2e5ce1f23 Mon Sep 17 00:00:00 2001 From: Bill Erickson Date: Wed, 21 Sep 2016 12:10:48 -0400 Subject: [PATCH] JBAS-1525 Holds purge settings and cron script Signed-off-by: Bill Erickson --- KCLS/sql/schema/deploy/purge-holds.sql | 13 +++++++++++++ KCLS/sql/schema/revert/purge-holds.sql | 7 +++++++ KCLS/sql/schema/sqitch.plan | 1 + KCLS/sql/schema/verify/purge-holds.sql | 7 +++++++ KCLS/utility-scripts/CRONTAB | 3 +++ KCLS/utility-scripts/purge_holds/purge_holds.sh | 13 +++++++++++++ 6 files changed, 44 insertions(+) create mode 100644 KCLS/sql/schema/deploy/purge-holds.sql create mode 100644 KCLS/sql/schema/revert/purge-holds.sql create mode 100644 KCLS/sql/schema/verify/purge-holds.sql create mode 100755 KCLS/utility-scripts/purge_holds/purge_holds.sh diff --git a/KCLS/sql/schema/deploy/purge-holds.sql b/KCLS/sql/schema/deploy/purge-holds.sql new file mode 100644 index 0000000000..1a4b25497d --- /dev/null +++ b/KCLS/sql/schema/deploy/purge-holds.sql @@ -0,0 +1,13 @@ +-- Deploy kcls-evergreen:purge-holds to pg +-- requires: audit-table-maint + +BEGIN; + + +-- Start by purging really old holds. +-- The age will march forward as we work through batches. +UPDATE config.global_flag + SET enabled = TRUE, value = '5 years' + WHERE name ~ 'history.hold.retention_age'; + +COMMIT; diff --git a/KCLS/sql/schema/revert/purge-holds.sql b/KCLS/sql/schema/revert/purge-holds.sql new file mode 100644 index 0000000000..ff58d8ac97 --- /dev/null +++ b/KCLS/sql/schema/revert/purge-holds.sql @@ -0,0 +1,7 @@ +-- Revert kcls-evergreen:purge-holds from pg + +BEGIN; + +-- XXX Add DDLs here. + +COMMIT; diff --git a/KCLS/sql/schema/sqitch.plan b/KCLS/sql/schema/sqitch.plan index 4257c8a47a..bf93f16b95 100644 --- a/KCLS/sql/schema/sqitch.plan +++ b/KCLS/sql/schema/sqitch.plan @@ -38,5 +38,6 @@ self-reg-net-access-level [purge-user-activity] 2016-05-25T14:59:56Z Bill Ericks vand-delete-speed-indexes [self-reg-net-access-level] 2016-09-30T14:52:21Z Bill Erickson # Indexes to speed up vandelay queue deleting auth-prop-mods-bib-meta [ingram-edi-mods] 2016-06-13T16:07:28Z Bill Erickson # Authority propagation udpates bib editor/edit_date backstage-exports-continued [ingram-edi-mods] 2016-06-20T20:28:38Z Bill Erickson # Updating in-db export utilities +purge-holds [audit-table-maint] 2016-09-21T16:01:57Z Bill Erickson # Holds purge settings 2.7-to-2.9-upgrade [backstage-exports-continued] 2016-12-09T20:27:17Z Bill Erickson # 2.7 to 2.9 Upgrade 2.7-to-2.9-upgrade-part-2 [2.7-to-2.9-upgrade] 2016-12-12T15:19:07Z Bill Erickson # 2.7 to 2.9 Upgrade Secondary Updates diff --git a/KCLS/sql/schema/verify/purge-holds.sql b/KCLS/sql/schema/verify/purge-holds.sql new file mode 100644 index 0000000000..fd7a2fc063 --- /dev/null +++ b/KCLS/sql/schema/verify/purge-holds.sql @@ -0,0 +1,7 @@ +-- Verify kcls-evergreen:purge-holds on pg + +BEGIN; + +-- XXX Add verifications here. + +ROLLBACK; diff --git a/KCLS/utility-scripts/CRONTAB b/KCLS/utility-scripts/CRONTAB index 4cad84870e..777b04c044 100644 --- a/KCLS/utility-scripts/CRONTAB +++ b/KCLS/utility-scripts/CRONTAB @@ -128,6 +128,9 @@ BACKSTAGE_PASSWORD = BSPASS #0 0 * * 5 cd $SCRIPT_DIR/purge_circs/ && ./purge_circulations.sh --start 2013-01-01 --end 2014-01-01 --increment "1 year" --duration 120 >> /openils/var/log/purge_circs.log #0 0 * * 6 cd $SCRIPT_DIR/purge_circs/ && ./purge_circulations.sh --start 2014-01-01 --end $(date -d -1year-1month +'\%F') --increment "1 year" --duration 120 >> /openils/var/log/purge_circs.log +# Nightly holds purging +30 1 * * * cd $SCRIPT_DIR/purge_holds/ && ./purge_holds.sh + # Process and archive student import files each Sunday night at 11pm # 0 23 * * 0 cd /home/opensrf/Evergreen/KCLS/utility-scripts/import_students && ./sftp-client-agent.sh -b db01 -p -a diff --git a/KCLS/utility-scripts/purge_holds/purge_holds.sh b/KCLS/utility-scripts/purge_holds/purge_holds.sh new file mode 100755 index 0000000000..9f0360b3ca --- /dev/null +++ b/KCLS/utility-scripts/purge_holds/purge_holds.sh @@ -0,0 +1,13 @@ +#!/bin/bash +# Kick off the holds purge function. +# Set PGHOST, PGPASSWORD, PGUSER environment variables! +set -eu +PSQL="psql" + +echo -n "Purging holds at " +date +"%F %T" + +echo "SET STATEMENT_TIMEOUT = 0; SELECT action.purge_holds();" | $PSQL; + +echo -n "Purging holds complete at " +date +"%F %T" -- 2.11.0