Situation
Expectation
Institutions need to be able to schedule both the age to lost and aged to lost billing processes to be run during quieter periods for their libraries e.g. when the libraries are closed. This is to ensure these processes do not interfere with the
Current State
At the moment, these two processes run at 30 or 35 minute intervals respectively using the Okapi _timer interface for basic scheduling.
Previous Decisions
It was decided that FOLIO would not have general job scheduling capability.
Questions
It has been suggested that this need is also relevant for other background processes. What are those other processes?
Possibly Related Areas
- Scheduled patron notices
- Export of inventory records
Design Options
Bespoke Scheduling
Overview
Considerations
Variations
- Entirely internal scheduling - how to get permissions needed for external requests? - log in as a user, similar to pub-sub
- publish job schedule directly to Kafka topic after each invocation - then read the topic to invoke the next instantiation of the job - means cannot change schedule until next invocation has occurred
Use a General Job Scheduling Module
Overview
Considerations
- Additional module dependency
Variations
- Extend the scheduling capabilities of Okapi
Use an External Job Scheduling Tool
Overview
Job scheduling can be done
Considerations
- Statically configured by an administrator (new jobs cannot be created by the system)
- Could be left entirely up to the hosting provider or we would set expectations (e.g. like the use of AWS or min.io for file storage)
Related Information
- Design document for aged to lost processes
- JIRA issue for this design document
- JIRA issue where scheduling was first mentioned