#366: BibEdit: safer status check for multi-node setups
-------------------------+--------------------------------------------------
 Reporter:  simko        |       Owner:      
     Type:  enhancement  |      Status:  new 
 Priority:  critical     |   Milestone:  v1.0
Component:  BibEdit      |     Version:      
 Keywords:               |  
-------------------------+--------------------------------------------------
 BibEdit currently checks bibsched queue status via a CLI call.  This does
 not play very well in a multi-node environment on nodes that do not have
 permission to run bibsched CLI (in order to avoid admin mishaps).

 Instead of launching bibsched CLI, BibEdit should test the queue status by
 importing and calling appropriate Python function.  IOW, use Python API
 not CLI API for this queue check.

 Here are exception details for this problem:

 {{{
   File "/usr/lib/python2.4/site-packages/invenio/bibedit_engine.py", line
 322, in perform_request_ajax
     data))
   File "/usr/lib/python2.4/site-packages/invenio/bibedit_engine.py", line
 514, in perform_request_record
     elif not read_only_mode and record_locked_by_queue(recid):
   File "/usr/lib/python2.4/site-packages/invenio/bibedit_utils.py", line
 236, in record_locked_by_queue
     filenames = _get_bibupload_filenames()
   File "/usr/lib/python2.4/site-packages/invenio/bibedit_utils.py", line
 487, in _get_bibupload_filenames
     task_ids = _get_bibupload_task_ids()
   File "/usr/lib/python2.4/site-packages/invenio/bibedit_utils.py", line
 475, in _get_bibupload_task_ids
     raise StandardError, '%s: %s' % (err, out)
 StandardError: 32256: sh: /opt/cds-invenio/bin/bibsched: Permission denied
 }}}

-- 
Ticket URL: <http://invenio-software.org/ticket/366>
Invenio <http://invenio-software.org>

Reply via email to