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 ...@@ -25,6 +25,7 @@ from ..db.models import Assembly, BatchJob, BatchQueueItem, Chromosome
from .. import mapping from .. import mapping
from .. import output from .. import output
from .. import sync from .. import sync
from .. import util
class UserError(Exception): class UserError(Exception):
...@@ -95,6 +96,10 @@ def import_mapview(assembly_name_or_alias, mapview_file, encoding, ...@@ -95,6 +96,10 @@ def import_mapview(assembly_name_or_alias, mapview_file, encoding,
""" """
Import transcript mappings from an NCBI mapview file. 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) mapview_file = codecs.getreader(encoding)(mapview_file)
try: try:
...@@ -144,6 +149,10 @@ def sync_cache(wsdl_url, url_template, history=7): ...@@ -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 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 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__)) cache_sync = sync.CacheSync(output.Output(__file__))
inserted, downloaded = cache_sync.sync_with_remote(wsdl_url, url_template, inserted, downloaded = cache_sync.sync_with_remote(wsdl_url, url_template,
history) history)
......
...@@ -15,12 +15,17 @@ import time ...@@ -15,12 +15,17 @@ import time
from .. import db from .. import db
from .. import Scheduler from .. import Scheduler
from .. import util
def process(): def process():
""" """
Run forever in a loop processing scheduled batch jobs. 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() scheduler = Scheduler.Scheduler()
def handle_exit(signum, stack_frame): def handle_exit(signum, stack_frame):
......
...@@ -955,3 +955,16 @@ class LazyObject(object): ...@@ -955,3 +955,16 @@ class LazyObject(object):
__len__ = _new_method_proxy(len) __len__ = _new_method_proxy(len)
__contains__ = _new_method_proxy(operator.contains) __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