Koha Cronjobs

O
Koha Cronjobs
   Joe Atzberger, LibLime




  KohaCon 2009: Plano, TX
misc/cronjobs/
•   advance_notices.pl
•   crontab.example
•   fines.pl
•   longoverdue.pl
•   overdue_notices.pl
•   process_message_queue.pl
•   ... and others
rebuild_zebra.pl
          misc/migration_tools/rebuild_zebra.pl

• -a: authorities
• -b: biblios
• -x: XML
• -z: incremental
• -r: CLEAR and REBUILD from scratch
Remember!

• export PERL5LIB=/path/to/kohaclone
• export KOHA_CONF=/path/to/koha-
  conf.xml
Any idiot could give this presentation.
Any idiot could give this presentation.

Allow me to demonstrate!
Any idiot could give this presentation.

Allow me to demonstrate!
Any idiot could give this presentation.

Allow me to demonstrate!

All the info comes from two places:
Any idiot could give this presentation.

Allow me to demonstrate!

All the info comes from two places:
• crontab.example
Any idiot could give this presentation.

Allow me to demonstrate!

All the info comes from two places:
• crontab.example
• run: whatever_job.pl
Any idiot could give this presentation.

Allow me to demonstrate!

All the info comes from two places:
• crontab.example
• run: whatever_job.pl
• or: whatever_job.pl --help
Any idiot could give this presentation.

Allow me to demonstrate!

All the info comes from two places:
• crontab.example
• run: whatever_job.pl
• or: whatever_job.pl --help
  • OK, well, not everything.
fines.pl
• No help
• No command-line options either
• sysprefs: finesMode, CircControl
• staff: fines rules, Calendar!
• TIP: run fines before notices
advance_notices.pl

• Like overdue notices, but before due
• “EnhancedMessagingPreferences” syspref
• Opt-In for individual patrons via OPAC
Building a good cronjob
• Documentation for use case!
• Good perl: use strict; use warnings;
• use Getopt::Long; # handle --options
• use Pod::Usage; # makes --help like perldoc
• internalize, like process_message_queue.pl
• test cases, dry run, operational feedback
The End
1 of 16

Recommended

Server side rendering review by
Server side rendering reviewServer side rendering review
Server side rendering reviewVladyslav Morzhanov
805 views94 slides
Laravel introduction by
Laravel introductionLaravel introduction
Laravel introductionSimon Funk
1.1K views50 slides
Metadata Extraction and Content Transformation by
Metadata Extraction and Content TransformationMetadata Extraction and Content Transformation
Metadata Extraction and Content TransformationAlfresco Software
8.3K views39 slides
Laravel Tutorial PPT by
Laravel Tutorial PPTLaravel Tutorial PPT
Laravel Tutorial PPTPiyush Aggarwal
20.6K views86 slides
Alfresco Transform Service DevCon 2019 by
Alfresco Transform Service DevCon 2019Alfresco Transform Service DevCon 2019
Alfresco Transform Service DevCon 2019J V
2.1K views47 slides
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう by
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみようAlfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみようTasuku Otani
9.1K views25 slides

More Related Content

What's hot

サイボウズのフロントエンド開発 現在とこれからの挑戦 by
サイボウズのフロントエンド開発 現在とこれからの挑戦サイボウズのフロントエンド開発 現在とこれからの挑戦
サイボウズのフロントエンド開発 現在とこれからの挑戦Teppei Sato
20.6K views75 slides
Adobe AEM - From Eventing to Job Processing by
Adobe AEM - From Eventing to Job ProcessingAdobe AEM - From Eventing to Job Processing
Adobe AEM - From Eventing to Job ProcessingCarsten Ziegeler
14.2K views73 slides
Koha Integration: LDAP by
Koha Integration: LDAPKoha Integration: LDAP
Koha Integration: LDAPohiocore
4.6K views39 slides
Microservices with Apache Camel, DDD, and Kubernetes by
Microservices with Apache Camel, DDD, and KubernetesMicroservices with Apache Camel, DDD, and Kubernetes
Microservices with Apache Camel, DDD, and KubernetesChristian Posta
2.9K views33 slides
Web Development with Laravel 5 by
Web Development with Laravel 5Web Development with Laravel 5
Web Development with Laravel 5Soheil Khodayari
960 views87 slides
Object Oriented Javascript by
Object Oriented JavascriptObject Oriented Javascript
Object Oriented JavascriptNexThoughts Technologies
987 views28 slides

What's hot(20)

サイボウズのフロントエンド開発 現在とこれからの挑戦 by Teppei Sato
サイボウズのフロントエンド開発 現在とこれからの挑戦サイボウズのフロントエンド開発 現在とこれからの挑戦
サイボウズのフロントエンド開発 現在とこれからの挑戦
Teppei Sato20.6K views
Adobe AEM - From Eventing to Job Processing by Carsten Ziegeler
Adobe AEM - From Eventing to Job ProcessingAdobe AEM - From Eventing to Job Processing
Adobe AEM - From Eventing to Job Processing
Carsten Ziegeler14.2K views
Koha Integration: LDAP by ohiocore
Koha Integration: LDAPKoha Integration: LDAP
Koha Integration: LDAP
ohiocore4.6K views
Microservices with Apache Camel, DDD, and Kubernetes by Christian Posta
Microservices with Apache Camel, DDD, and KubernetesMicroservices with Apache Camel, DDD, and Kubernetes
Microservices with Apache Camel, DDD, and Kubernetes
Christian Posta2.9K views
Alfresco勉強会#26 Alfresco SDK + Eclipseで開発してみよう by Jun Terashita
Alfresco勉強会#26 Alfresco SDK + Eclipseで開発してみようAlfresco勉強会#26 Alfresco SDK + Eclipseで開発してみよう
Alfresco勉強会#26 Alfresco SDK + Eclipseで開発してみよう
Jun Terashita4.6K views
0からわかるAlfresco by MoritakaSoma
0からわかるAlfresco0からわかるAlfresco
0からわかるAlfresco
MoritakaSoma25.4K views
From zero to hero Backing up alfresco by Toni de la Fuente
From zero to hero Backing up alfrescoFrom zero to hero Backing up alfresco
From zero to hero Backing up alfresco
Toni de la Fuente1.8K views
Swagger / Quick Start Guide by Andrii Gakhov
Swagger / Quick Start GuideSwagger / Quick Start Guide
Swagger / Quick Start Guide
Andrii Gakhov7.6K views
REST: From GET to HATEOAS by Jos Dirksen
REST: From GET to HATEOASREST: From GET to HATEOAS
REST: From GET to HATEOAS
Jos Dirksen48.3K views
Aem dispatcher – tips & tricks by Ashokkumar T A
Aem dispatcher – tips & tricksAem dispatcher – tips & tricks
Aem dispatcher – tips & tricks
Ashokkumar T A5.4K views
CSS Paged Media - A review of tools and techniques by Andreas Jung
CSS Paged Media - A review of tools and techniquesCSS Paged Media - A review of tools and techniques
CSS Paged Media - A review of tools and techniques
Andreas Jung30.3K views
Envoy 를 이용한 코드 배포 자동화 by Juwon Kim
Envoy 를 이용한 코드 배포 자동화Envoy 를 이용한 코드 배포 자동화
Envoy 를 이용한 코드 배포 자동화
Juwon Kim6.3K views

Viewers also liked

Training on Koha by
Training on KohaTraining on Koha
Training on KohaNicole C. Engard
5.5K views18 slides
Koha Integration: RFID and SIP2 by
Koha Integration: RFID and SIP2Koha Integration: RFID and SIP2
Koha Integration: RFID and SIP2ohiocore
5.2K views5 slides
Opac customization by
Opac customizationOpac customization
Opac customizationChaudhary Ashokkumar
1.5K views60 slides
Koha presentation by
Koha presentationKoha presentation
Koha presentationBibLibre
938 views24 slides
Butler - Security Lessons Learned from an Ezproxy Admin by
Butler - Security Lessons Learned from an Ezproxy AdminButler - Security Lessons Learned from an Ezproxy Admin
Butler - Security Lessons Learned from an Ezproxy AdminNational Information Standards Organization (NISO)
1.1K views19 slides

Viewers also liked(20)

Koha Integration: RFID and SIP2 by ohiocore
Koha Integration: RFID and SIP2Koha Integration: RFID and SIP2
Koha Integration: RFID and SIP2
ohiocore5.2K views
Koha presentation by BibLibre
Koha presentationKoha presentation
Koha presentation
BibLibre938 views
The State of Library Management Systems 2016 by Ellyssa Kroski
The State of Library Management Systems 2016The State of Library Management Systems 2016
The State of Library Management Systems 2016
Ellyssa Kroski3.9K views
ISO 9712 by Olijohn
ISO 9712ISO 9712
ISO 9712
Olijohn800 views
Web 2.0 alkalmazások az egészségügyben, képalkotó diagnosztikában - II. rész ... by Péter Bágyi M.D.
Web 2.0 alkalmazások az egészségügyben, képalkotó diagnosztikában - II. rész ...Web 2.0 alkalmazások az egészségügyben, képalkotó diagnosztikában - II. rész ...
Web 2.0 alkalmazások az egészségügyben, képalkotó diagnosztikában - II. rész ...
Péter Bágyi M.D.553 views
MySQL Cluster Product Overview by Wagner Bianchi
MySQL Cluster Product OverviewMySQL Cluster Product Overview
MySQL Cluster Product Overview
Wagner Bianchi1.4K views
Ch28 by jespi
Ch28Ch28
Ch28
jespi489 views
Adobe connect set up instructions str by Gihan Lahoud
Adobe connect set up instructions strAdobe connect set up instructions str
Adobe connect set up instructions str
Gihan Lahoud304 views
In Memory of Laura Weber by Lisa McKenna
In Memory of Laura WeberIn Memory of Laura Weber
In Memory of Laura Weber
Lisa McKenna778 views
Koalas Fave Term 2 Week 1 by Gihan Lahoud
Koalas Fave Term 2 Week 1Koalas Fave Term 2 Week 1
Koalas Fave Term 2 Week 1
Gihan Lahoud261 views
Augmented Reality Presentation at Leadership Forum 2012 Randwick by Gihan Lahoud
Augmented Reality Presentation at Leadership Forum 2012 RandwickAugmented Reality Presentation at Leadership Forum 2012 Randwick
Augmented Reality Presentation at Leadership Forum 2012 Randwick
Gihan Lahoud455 views
The Relationships Between Social Media and Search by Laura Lippay
The Relationships Between Social Media and SearchThe Relationships Between Social Media and Search
The Relationships Between Social Media and Search
Laura Lippay8.4K views
How It Works by nuResume
How It WorksHow It Works
How It Works
nuResume293 views
ZeroMQ at Oredev 2013 by Ashic Mahtab
ZeroMQ at Oredev 2013ZeroMQ at Oredev 2013
ZeroMQ at Oredev 2013
Ashic Mahtab1.6K views
Upotreba informaciono-komunikacionih tehnologija u Republici Srbiji by NekretnineSrbije.com
Upotreba informaciono-komunikacionih tehnologija u Republici SrbijiUpotreba informaciono-komunikacionih tehnologija u Republici Srbiji
Upotreba informaciono-komunikacionih tehnologija u Republici Srbiji

Similar to Koha Cronjobs

Smoking docker by
Smoking dockerSmoking docker
Smoking dockerWorkhorse Computing
398 views58 slides
CPAN Training by
CPAN TrainingCPAN Training
CPAN TrainingPedro Figueiredo
2.5K views49 slides
Perl dancer by
Perl dancerPerl dancer
Perl dancerMarian Marinov
1.3K views16 slides
Os Treat by
Os TreatOs Treat
Os Treatoscon2007
751 views102 slides
Ceph Day Melbourne - Troubleshooting Ceph by
Ceph Day Melbourne - Troubleshooting Ceph Ceph Day Melbourne - Troubleshooting Ceph
Ceph Day Melbourne - Troubleshooting Ceph Ceph Community
510 views27 slides
Hiveminder - Everything but the Secret Sauce by
Hiveminder - Everything but the Secret SauceHiveminder - Everything but the Secret Sauce
Hiveminder - Everything but the Secret SauceJesse Vincent
2.9K views265 slides

Similar to Koha Cronjobs(20)

Os Treat by oscon2007
Os TreatOs Treat
Os Treat
oscon2007751 views
Ceph Day Melbourne - Troubleshooting Ceph by Ceph Community
Ceph Day Melbourne - Troubleshooting Ceph Ceph Day Melbourne - Troubleshooting Ceph
Ceph Day Melbourne - Troubleshooting Ceph
Ceph Community 510 views
Hiveminder - Everything but the Secret Sauce by Jesse Vincent
Hiveminder - Everything but the Secret SauceHiveminder - Everything but the Secret Sauce
Hiveminder - Everything but the Secret Sauce
Jesse Vincent2.9K views
Prepare for PHP Test Fest 2009 by PHPBelgium
Prepare for PHP Test Fest 2009Prepare for PHP Test Fest 2009
Prepare for PHP Test Fest 2009
PHPBelgium2.2K views
21st Century CPAN Testing: CPANci by Mike Friedman
21st Century CPAN Testing: CPANci21st Century CPAN Testing: CPANci
21st Century CPAN Testing: CPANci
Mike Friedman1.2K views
Variables & Expressions by Rich Price
Variables & ExpressionsVariables & Expressions
Variables & Expressions
Rich Price230 views
Intro to pl/PHP Oscon2007 by Robert Treat
Intro to pl/PHP Oscon2007Intro to pl/PHP Oscon2007
Intro to pl/PHP Oscon2007
Robert Treat3.5K views
Web 2.0 Performance and Reliability: How to Run Large Web Apps by adunne
Web 2.0 Performance and Reliability: How to Run Large Web AppsWeb 2.0 Performance and Reliability: How to Run Large Web Apps
Web 2.0 Performance and Reliability: How to Run Large Web Apps
adunne2.4K views
The Popper Experimentation Protocol and CLI tool by Ivo Jimenez
The Popper Experimentation Protocol and CLI toolThe Popper Experimentation Protocol and CLI tool
The Popper Experimentation Protocol and CLI tool
Ivo Jimenez177 views
Beijing Perl Workshop 2008 Hiveminder Secret Sauce by Jesse Vincent
Beijing Perl Workshop 2008 Hiveminder Secret SauceBeijing Perl Workshop 2008 Hiveminder Secret Sauce
Beijing Perl Workshop 2008 Hiveminder Secret Sauce
Jesse Vincent1.2K views
Automate Yo'self -- SeaGL by John Anderson
Automate Yo'self -- SeaGL Automate Yo'self -- SeaGL
Automate Yo'self -- SeaGL
John Anderson471 views
What we Learned Implementing Puppet at Backstop by Puppet
What we Learned Implementing Puppet at BackstopWhat we Learned Implementing Puppet at Backstop
What we Learned Implementing Puppet at Backstop
Puppet3.1K views
第1回PHP拡張勉強会 by Ippei Ogiwara
第1回PHP拡張勉強会第1回PHP拡張勉強会
第1回PHP拡張勉強会
Ippei Ogiwara2.2K views
Vim Hacks by Lin Yo-An
Vim HacksVim Hacks
Vim Hacks
Lin Yo-An86.6K views

Recently uploaded

Generative AI: Shifting the AI Landscape by
Generative AI: Shifting the AI LandscapeGenerative AI: Shifting the AI Landscape
Generative AI: Shifting the AI LandscapeDeakin University
67 views55 slides
Evaluation of Quality of Experience of ABR Schemes in Gaming Stream by
Evaluation of Quality of Experience of ABR Schemes in Gaming StreamEvaluation of Quality of Experience of ABR Schemes in Gaming Stream
Evaluation of Quality of Experience of ABR Schemes in Gaming StreamAlpen-Adria-Universität
38 views34 slides
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... by
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...Jasper Oosterveld
35 views49 slides
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023 by
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023Redefining the book supply chain: A glimpse into the future - Tech Forum 2023
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023BookNet Canada
44 views19 slides
State of the Union - Rohit Yadav - Apache CloudStack by
State of the Union - Rohit Yadav - Apache CloudStackState of the Union - Rohit Yadav - Apache CloudStack
State of the Union - Rohit Yadav - Apache CloudStackShapeBlue
303 views53 slides
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti... by
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...ShapeBlue
141 views29 slides

Recently uploaded(20)

ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... by Jasper Oosterveld
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023 by BookNet Canada
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023Redefining the book supply chain: A glimpse into the future - Tech Forum 2023
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023
BookNet Canada44 views
State of the Union - Rohit Yadav - Apache CloudStack by ShapeBlue
State of the Union - Rohit Yadav - Apache CloudStackState of the Union - Rohit Yadav - Apache CloudStack
State of the Union - Rohit Yadav - Apache CloudStack
ShapeBlue303 views
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti... by ShapeBlue
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
ShapeBlue141 views
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ... by ShapeBlue
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
ShapeBlue129 views
The Power of Heat Decarbonisation Plans in the Built Environment by IES VE
The Power of Heat Decarbonisation Plans in the Built EnvironmentThe Power of Heat Decarbonisation Plans in the Built Environment
The Power of Heat Decarbonisation Plans in the Built Environment
IES VE84 views
"Running students' code in isolation. The hard way", Yurii Holiuk by Fwdays
"Running students' code in isolation. The hard way", Yurii Holiuk "Running students' code in isolation. The hard way", Yurii Holiuk
"Running students' code in isolation. The hard way", Yurii Holiuk
Fwdays36 views
Optimizing Communication to Optimize Human Behavior - LCBM by Yaman Kumar
Optimizing Communication to Optimize Human Behavior - LCBMOptimizing Communication to Optimize Human Behavior - LCBM
Optimizing Communication to Optimize Human Behavior - LCBM
Yaman Kumar38 views
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or... by ShapeBlue
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
ShapeBlue199 views
NTGapps NTG LowCode Platform by Mustafa Kuğu
NTGapps NTG LowCode Platform NTGapps NTG LowCode Platform
NTGapps NTG LowCode Platform
Mustafa Kuğu437 views
Business Analyst Series 2023 - Week 4 Session 7 by DianaGray10
Business Analyst Series 2023 -  Week 4 Session 7Business Analyst Series 2023 -  Week 4 Session 7
Business Analyst Series 2023 - Week 4 Session 7
DianaGray10146 views
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue by ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
ShapeBlue152 views
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue by ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
ShapeBlue265 views
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R... by ShapeBlue
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
ShapeBlue178 views
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... by ShapeBlue
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
ShapeBlue183 views
LLMs in Production: Tooling, Process, and Team Structure by Aggregage
LLMs in Production: Tooling, Process, and Team StructureLLMs in Production: Tooling, Process, and Team Structure
LLMs in Production: Tooling, Process, and Team Structure
Aggregage57 views
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... by ShapeBlue
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
ShapeBlue196 views

Koha Cronjobs

  • 1. Koha Cronjobs Joe Atzberger, LibLime KohaCon 2009: Plano, TX
  • 2. misc/cronjobs/ • advance_notices.pl • crontab.example • fines.pl • longoverdue.pl • overdue_notices.pl • process_message_queue.pl • ... and others
  • 3. rebuild_zebra.pl misc/migration_tools/rebuild_zebra.pl • -a: authorities • -b: biblios • -x: XML • -z: incremental • -r: CLEAR and REBUILD from scratch
  • 4. Remember! • export PERL5LIB=/path/to/kohaclone • export KOHA_CONF=/path/to/koha- conf.xml
  • 5. Any idiot could give this presentation.
  • 6. Any idiot could give this presentation. Allow me to demonstrate!
  • 7. Any idiot could give this presentation. Allow me to demonstrate!
  • 8. Any idiot could give this presentation. Allow me to demonstrate! All the info comes from two places:
  • 9. Any idiot could give this presentation. Allow me to demonstrate! All the info comes from two places: • crontab.example
  • 10. Any idiot could give this presentation. Allow me to demonstrate! All the info comes from two places: • crontab.example • run: whatever_job.pl
  • 11. Any idiot could give this presentation. Allow me to demonstrate! All the info comes from two places: • crontab.example • run: whatever_job.pl • or: whatever_job.pl --help
  • 12. Any idiot could give this presentation. Allow me to demonstrate! All the info comes from two places: • crontab.example • run: whatever_job.pl • or: whatever_job.pl --help • OK, well, not everything.
  • 13. fines.pl • No help • No command-line options either • sysprefs: finesMode, CircControl • staff: fines rules, Calendar! • TIP: run fines before notices
  • 14. advance_notices.pl • Like overdue notices, but before due • “EnhancedMessagingPreferences” syspref • Opt-In for individual patrons via OPAC
  • 15. Building a good cronjob • Documentation for use case! • Good perl: use strict; use warnings; • use Getopt::Long; # handle --options • use Pod::Usage; # makes --help like perldoc • internalize, like process_message_queue.pl • test cases, dry run, operational feedback