SREVIEW-DISPATCH(1p)

πŸ’– SREVIEW-DISPATCH πŸ’–

okay bestie, welcome to the manual for sreview-dispatch, a lil script from the User Contributed Perl Documentation corner of the world. she's the main character of SReview and she's here to spill the tea about watching databases and scheduling jobs. no cap. ✨


🌸 NAME 🌸

sreview-dispatch β€” watch the database for talks that need work done, and schedule jobs for them πŸŽ€


✨ SYNOPSIS ✨

sreview-dispatch

πŸ¦‹ DESCRIPTION πŸ¦‹

so <pink>sreview-dispatch</pink> is literally the central script for SReview. she's that girl. and she can be used in two ways, bestie:

  1. Either you run her with an external scheduler (think gridengine, slurm, PBS, torque). this is the recommended way of using SReview for large installations, fr fr. in this mode of operation, sreview-dispatch should be run once in the entire network, and the query_limit configuration value should be set to 0. periodt. πŸ’…
  2. Or you run her with no external scheduler. this is the default, bestie. in this mode of operation, it is recommended that the query_limit configuration parameter is set to a nonzero value, so that individual sreview-dispatch instances do not take all the work, keeping all the other instances idle. like, share the snacks, babes πŸ“. in this mode of operation, one sreview-dispatch instance should be run per CPU core on every machine that is used for performing work.

this mode works, but using an external scheduler allows for operating more flexibly on pending jobs, and on the addition or removal of extra nodes. iykyk. 🌈


πŸ’… OPTIONS πŸ’…

None. sreview-dispatch uses the system-wide SReview configuration. for more info, go look at sreview-config. that's it, that's the section. iconic minimalism honestly 😌


πŸŽ€ CONFIGURATION πŸŽ€

<pink>sreview-dispatch</pink> considers the following configuration values, bestie β€” take notes πŸ“:

  • dbistring β€” the database connection string πŸ”Œ
  • state_actions β€” a hash table of shell commands to execute when a talk is found in a particular state with the waiting progress value. the hash key should be the state name.

if a state is not specified in the state_actions hash, then sreview-dispatch will ignore that state. this allows for handling particular states on particular hosts, if necessary. flexible queen πŸ’…

the shell commands can use the following template variables:

  • <%== $talkid %> β€” the database ID of the talk to work on πŸ†”
  • <%== $output_dir %> β€” the value of the script_output configuration item, i.e., where to redirect output to. πŸ“‚
  • query_limit β€” the maximum number of requests that should be handled per loop. should be set to 0 (meaning infinity ♾️) when using an external scheduler; should probably be set to 1 when not.
  • event β€” the event in use for this instance of SReview. in previous versions of SReview, the dispatcher would run things for every event in the database; since version 0.4 this is no longer the case. this allows multiple instances of SReview to exist on the same host, sharing the same database if wanted. glow up behavior honestly ✨
  • script_output β€” the location where stderr and stdout output should be written to. this is supposed to be a directory; it is reasonable to create a file for stderr and a file for stdout for each script run. πŸ“

πŸ’€ BUGS πŸ’€

<pink>sreview-dispatch</pink> currently polls the database every 10 seconds. ngl bestie, this should be changed to an event-based system based on PostgreSQL asynchronous notifications. one day. not today. 😭


lowkey a heads up before you go: all the config stuff above is real and load-bearing, so don't just vibe your way through it. πŸ’œ

okay that's the whole page, bestie, you ate that read 🫢 this was pulled from the User Contributed Perl Documentation, version perl v5.40.1, dated 2026-02-15. mwah πŸ’‹ slay, go schedule some jobs βœ¨πŸ‘‘

πŸ“¦ where this page comes from