#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>