[OPEN-ILS-DOCUMENTATION] Documentation regarding cron jobs

Betty Ing ingbe at mcmaster.ca
Fri Mar 6 11:54:35 EST 2009


Hello Nathanael,

In your description for the reshelving status interval, you provide
examples with the units: h, m, and s. Also, you show no space between
the numerical value and the units. I understand that these entries are
at the server level. Does it affect the client functionality?

Have you also been using Local System Admin. on the Staff Client?
There, the GUI for "Change reshelving status interval" provides the
following examples: "1 day" and "6 hours" There does not appear to be
any data entry validation. What are the default units when none are
entered with the numerical value?

I have been changing the reshelving status interval for different
selections of "Context" and am not sure of the intended functionality
of the Value field. For example, I can enter a value with no units, and
on clicking the Update Setting button, and you can see the value with
no units under the Value column. Are there default units in this case?
If not, what is happening in the database when no units are entered? Is
there any validation?

Thanks for any feedback!

Betty Ing
Project Conifer

                                                                        
                                                                

On Thu, 5 Mar 2009 22:54:33 +0300
 Nathanael Schilling <nathanaelschilling at gmx.net> wrote:
> I realised that there was not documentation for setting up cron jobs
> for 
> evergreen, and that I hadn't done it myself already, so I decided to
> write 
> some while I was going along. Its VERY incomplete, and probably has 
> quite a few errors somebody should check though
> Nathanael Schilling
> 
> Cron Jobs
> Certain evergreen scripts need to be run at specific intervals. An 
> example of this is the reshelving_complete script, which checks how
> long 
> books have been in the reshelving status, and then flips them from
> the 
> Reshelving copy status to the Available one. We will be using Cron
> for 
> scheduling these scripts.
> 1)The Reshelving->Available script.
> This script, as mentioned earlier flips books from the reshelving to
> the 
> available status. It resides in
> /openils/bin/reshelving_complete.srfsh . You 
> will need to set a value for how long it takes your library to
> reshelve 
> books. Open the reshelving_complete.srfsh file with your favourite
> text 
> editor.
> You should get something like this:
> <file>
> #!/openils/bin/srfsh
> request open-ils.storage open-
> ils.storage.action.circulation.reshelving.complete "24h"
> </file>
> change the last part of line 2 (24h) to the length it takes your
> library to 
> reshelve the book. This value can be seconds(e.g. 3s), minutes(e.g. 
> 23m) or hours(e.g. 2h) or a mixture of these(e.g. 2h3m1s). The
> resulting 
> line should look something like this:
> 
> <file>
> request open-ils.storage open-
> ils.storage.action.circulation.reshelving.complete "3h2m1s"
> </file>
> 
> In this example, the reshelving interval is 3h2m1s. Run the script to
> test 
> whether it worked, if you get an error message , the reshelving
> interval 
> was probably not set correctly, try setting it again.
> 
> 2)The thaw expired holds script
> This script resides in /openils/bin/thaw_expired_frozen_holds.srfsh 
> 
> 3)The fine generator script
> You'll find this script in /openils/bin/fine_generator.pl
> This script generates your fines.
> You'll need to add the argument  /openils/conf/opensrf_core.xml to
> this 
> script later on.
> 
> 4)The find orphaned reports script
> This script sits in /openils/bin/find_orphaned_reports.pl
> the name is self explanatory
> 
> 5)The long overdue status update script
> This script sits in /openils/bin/long-overdue-status-update.pl
> You'll need to add “/openils/conf/opensrf_core.xml” and a number to 
> specify what you mean with “long” as arguments later on.
> Note: you'll probably not need this one.
> 
> 
> 6)The Hold Targeter Script
> This script can be found in /openils/bin/hold-targeter.pl
> You'll need to add “/openils/conf/opensrf_core.xml” as an argument
> later 
> on.
> 
> 
> TODO:Find arguments for this script
> 7)The offline blocked list
> This script can be found in /openils/bin/offline-blocked-list.pl
> The offline blocked list generates a list of "bad" patrons that the
> offline 
> interface makes use of for warning staff
> 
> 
> 
> So, you'll need to set a time for each of these scripts to run. If
> you 
> haven't insThe talled cron yet, you'll need to install it now, it'll
> probably 
> be installed already on most systems. Cron is basically a daemon that
> 
> executes certain commands at regulat intervals. The file we will be
> editin 
> is the opensrf crontab. Each user has their own crontab. It has the 
> followin syntax:
> 
> 
> minute hour dayofmont month dayofweek user  command
> 
> minute- is the minute of the hour the command should run.
> hour – The hour it should run
> dayofmonth -  the day of month is something like the 10th
> month- is the month, eg March. Can be specified as a number or name
> dayofweek – What day of the week should a command be run on e.g 
> every tuesday. This can be numeric(e.g. 2) or oa name (e.g tues) –
> Note 
> : the numeric value for Sunday is zero (0)
> user – The user that should run the command. You'll only need this if
> 
> you're editing the global crontab
> cmd-  The command to be run.
> 
> If you wish to leave a value blank, put an asterix there (*)
> 
> and here is a sample row in this table:
> 17 *    * * *   root    do_something
> 
> this would run the command do_something  on the 17th minute of every 
> hour as the user root.
> 
> To edit the opensrf user's crontab, do 
> <command>
> crontab -e
> </command>
> 
> For each of the scripts I listed earlier, add an entry.
> e.g. if you wanted the  thaw_expired_frozen_holds.srfsh script to be
> run 
> the first minute of every hour, insert something like:
> <file>
> 01 * * * /openils/bin/ reshelving_complete.srfsh
> </file>
> 
> or, if you want to run the fine_generator.pl at 4am wednesday:
> 
> <file>
> 00 04 * wed /openils/bin/ fine_generator.pl
> /openils/conf/opensrf_core.xml
> </file>
> 
> 
> You'll need to add entries for all of the scripts mentioned above.
> Add the 
> arguments specified aboce Set all the cron values to a sensible
> value, so 
> you don't end up running theses scripts every hour. Every day would 
> probably be sensible.
> 
> _______________________________________________
> OPEN-ILS-DOCUMENTATION mailing list
> OPEN-ILS-DOCUMENTATION at list.georgialibraries.org
>
http://list.georgialibraries.org/mailman/listinfo/open-ils-documentation



More information about the OPEN-ILS-DOCUMENTATION mailing list