RUNDATA - General Overview of What it Does, Where it Lives, How it is Run and Who Sets it Up
Rundata
Rundata (English; from Run + Data) is the general term for MAXimum Research's nightly automated delivery system. It runs on a set schedule each night, and allows PDs and DP staff to attach specific projects to specific time slots for automatic processing and distribution.
What Is Rundata?
Rundata is not a single script -- it is a system. At its core, it is a scheduled automation framework that executes Survox-based tasks (reports, data conversions, data dumps, coding updates, data corrections, and more) at defined times each night. If Survox can run it, Rundata can run it.
When rundata executes for a project, it produces two output zip files:
- jobname_internal.zip -- Contains all reports the PD needs for project updates. This is the internal working package.
- jobname_data.zip -- Contains the datafile and any related client-facing items such as open ends, a topline marginal, or other deliverables.
Both files are emailed to the data@maxresinc.com group by default. If the client is receiving data, they receive only the _data.zip.
Schedule Time Slots
The following time slots are available. PDs and DP staff assign projects to the appropriate slot(s) based on project requirements.
| Time Slot | Mon | Tue | Wed | Thu | Fri | Sat | Sun |
|---|---|---|---|---|---|---|---|
| 5:45 PM | [Y] | [Y] | [Y] | [Y] | [Y] | -- | -- |
| 6:45 PM | -- | -- | -- | -- | -- | [Y] | -- |
| 7:45 PM | -- | -- | -- | -- | -- | [Y] | -- |
| 8:45 PM | -- | -- | -- | -- | -- | [Y] | -- |
| 9:45 PM | [Y] | [Y] | [Y] | [Y] | [Y] | [Y] | [Y] |
| 10:45 PM | [Y] | [Y] | [Y] | [Y] | [Y] | [Y] | [Y] |
| 11:45 PM | [Y] | [Y] | [Y] | [Y] | [Y] | -- | [Y] |
| 12:00 AM | [Y] | [Y] | [Y] | [Y] | [Y] | [Y] | [Y] |
| 1:00 AM | [Y] | [Y] | [Y] | [Y] | [Y] | [Y] | [Y] |
| 1:15 AM | [Y] | [Y] | [Y] | [Y] | [Y] | -- | -- |
| 2:15 AM | [Y] | [Y] | [Y] | [Y] | [Y] | -- | -- |
| Manual | Ad-hoc -- no set schedule, run by PD as needed | ||||||
Who Sets It Up?
Rundata is configured by programmers prior to project launch. Once in place, it can be adjusted, added to, removed, or paused at any time with minimal effort. It runs either via automatic scheduled script or manually by a PD or DP staff member.
Always confirm with the PD exactly what they need -- each project is different and every PD has specific reporting preferences.
The Scripts -- Where They Come From
A master rundata template script is maintained in the /specs folder. When a new study is created, this template is copied into the project's /DP folder twice -- once as rundata and once as runclientdata. At that point, they are identical.
The individual Survox scripts referenced inside rundata are also placed in the /DP folder. Each one requires adjustment for the specific study -- replacing placeholder values with the correct job name and enabling or disabling the appropriate options for the project.
Note: Script configuration details (define statements, job name substitution, etc.) are covered in the Setting Up a Project article.
rundata vs. runclientdata
Since both scripts start as identical copies, the difference comes down to what gets added to runclientdata after the initial setup:
- rundata -- Handles all internal processing and delivers both zip files to
data@maxresinc.com. Used as an on-demand alternative when output is needed immediately, without waiting for the next scheduled run. - runclientdata -- Everything rundata does, plus extra lines at the bottom that handle client file delivery. Because it covers both internal and client output, this is the version that gets added to the schedule -- not rundata.
- It is advised to setup rundata first, then copy it over to runclientdata, saving time from redoing all the settings within the file. simply type
cp rundata runclientdataor open in an editor and "save as" runclientdata. This is best done AFTER confirming rundata executes without any errors or missing files. - After runclientdata has been copied/updated, add client specific needs to the file.
Quick Rule: In the schedule, always userunclientdata. Userundataonly when a PD or DP needs to run output manually, right now.
Adding a Project to the Schedule
When DP sets a job live for dialing using the jobstart jobname command, that process opens the master schedule file as its final step. The master schedule file is located at:
/cfmc/systools/crons/clientdata.csh
The programmer scrolls to the time slot specified by the PD and adds a single line to execute runclientdata for that project. For example, to add a job to the 12:00 AM daily block:
cd jobname/dp ; runclientdata
That's the entire entry. One line per project, in the appropriate time slot block. If a job finishes early, and a PD wants it removed from automatic delivery, simply open the clientdata.csh file and remove the line(s) for the project*.
*Note: Some projects may appear in the file multiple times, if the PD wants files at a different time on the weekends than on weekdays. Always search for any/all references to the project name to confirm nonnone exist when removing it.
If Something Goes Wrong
Rundata itself does not produce a log. However, each individual Survox script that executes during a run generates its own pass/fail output file, often referenced as "error_scriptname.spx". If a delivered zip file is missing content, partially populated, or empty, DP can trace the issue back to the specific script that failed using those output files.