CDR Tickets

Issue Number 3950
Summary Enhanced web based scheduler for the CDR
Created 2015-08-12 00:06:55
Issue Type New Feature
Submitted By alan
Assigned To Learn, Blair (NIH/NCI) [C]
Status Closed
Resolved 2016-03-29 17:06:18
Resolution Fixed
Path /home/bkline/backups/jira/ocecdr/issue.167325
Description

In order to better manage CDR systems on stage and production and reduce the
burden on CBIIT and the time delays of creating issues for multiple teams to
work on, we can add more web based management capabilities to the CDR.

Here are a number of possible candidates for such capabilities:

  1. Cron like program for job scheduling.
  
     We would need the ability to edit the crontab file using a web
     interface, enabling us to change job schedules at will without
     requiring assistance from a systems administrator to make a change
     and then again to change it back again.

     There are some open source cron implementations that might only
     need a web interface with appropriate security controls to edit the
     crontab file.

  2. Ability to run CheckDtds, RefreshManifest, and possibly other
     utilities.

     This might be subsumed under the cron facility or implemented as a
     separate, interactive interface..

  3. Ability to pause and resume, or stop and fail publishing jobs.

     If someone is monitoring publishing, it would be useful to be able
     to complete any documents in process and then pause the job upon
     receipt of some kind of signal from the user.  The user might
     inspect outputs or log files and then either resume the job or kill
     it.

     This will require changes to the cdrpub.py script plus a web
     interface to communicate the commands to it.

A first step in implementing these capabilities is to refine the
requirements and add any others that we can think of. Then we can
progress to design.

[implement scheduler (select framework), CDR server/C++ or as a service/sys software package, python scripts, existing publish service]

Comment entered 2016-02-16 13:44:06 by henryec

Scope: This is limited to implementing the framework and possibly converting a small reports scheduled job to use this new tool as proof of concept. This story does not include converting all possible services to use this tool. Story Point - 40

Comment entered 2016-02-22 21:33:08 by alan

I have attached an HTML file generated from an emacs outline listing possible features to look for in a general purpose, off-the-shelf, job scheduling program that could be plugged in to the CDR and possibly many other projects. These are just ideas for features, not requirements.

Most of the ideas came from perusing documentation for "schedulix" and "JobScheduler", both open-source packages.

I added Bryan to the list of watchers since he indicated an active interest in this task in our story pointing meetings.

Comment entered 2016-02-25 11:32:17 by alan

Re-assigning this task to Blair, as per discussions within the department.

Comment entered 2016-03-29 10:12:27 by Learn, Blair (NIH/NCI) [C]
Comment entered 2016-04-20 16:14:57 by Learn, Blair (NIH/NCI) [C]

New components:

Web.config changes. (New rewrite rule.)

New database tables (created automatically on first run)

  • scheduler_jobs

  • scheduler_execution

  • scheduler_jobauditlog

New configuration:
Action

  • Name: 'MANAGE SCHEDULER'

  • Descr: 'Permission to control the CDR Scheduler.'

  • Not document type specifc

Attachments
File Name Posted User
Features.htm 2016-02-22 21:33:08

Elapsed: 0:00:00.001572