Skip to content
Snippets Groups Projects
Commit 681bc10e authored by Vermaat's avatar Vermaat
Browse files

Merge pull request #148 from mutalyzer/proc-name

Set process name for long-running processes
parents 1055d9a4 7795f431
No related branches found
No related tags found
No related merge requests found
......@@ -25,6 +25,7 @@ from ..db.models import Assembly, BatchJob, BatchQueueItem, Chromosome
from .. import mapping
from .. import output
from .. import sync
from .. import util
class UserError(Exception):
......@@ -95,6 +96,10 @@ def import_mapview(assembly_name_or_alias, mapview_file, encoding,
"""
Import transcript mappings from an NCBI mapview file.
"""
# For long-running processes it can be convenient to have a short and
# human-readable process name.
util.set_process_name('mutalyzer: mapview-import')
mapview_file = codecs.getreader(encoding)(mapview_file)
try:
......@@ -144,6 +149,10 @@ def sync_cache(wsdl_url, url_template, history=7):
25 5 * * * mutalyzer-cache-sync 'http://dom1/?wsdl' 'http://dom1/{file}' -H 7
55 5 * * * mutalyzer-cache-sync 'http://dom2/?wsdl' 'http://dom2/{file}' -H 7
"""
# For long-running processes it can be convenient to have a short and
# human-readable process name.
util.set_process_name('mutalyzer: cache-sync')
cache_sync = sync.CacheSync(output.Output(__file__))
inserted, downloaded = cache_sync.sync_with_remote(wsdl_url, url_template,
history)
......
......@@ -15,12 +15,17 @@ import time
from .. import db
from .. import Scheduler
from .. import util
def process():
"""
Run forever in a loop processing scheduled batch jobs.
"""
# For long-running processes it can be convenient to have a short and
# human-readable process name.
util.set_process_name('mutalyzer: batch-processor')
scheduler = Scheduler.Scheduler()
def handle_exit(signum, stack_frame):
......
......@@ -955,3 +955,16 @@ class LazyObject(object):
__len__ = _new_method_proxy(len)
__contains__ = _new_method_proxy(operator.contains)
# We try to minimize non-trivial dependencies for non-critical features. The
# setproctitle package is implemented as a C extension and hence requires a C
# compiler and the Python development headers. Here we use it as an optional
# dependency.
try:
import setproctitle as _setproctitle
def set_process_name(name):
_setproctitle.setproctitle(name)
except ImportError:
def set_process_name(name):
pass
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment