galaxy.web_stack package
Web application stack operations.
- class galaxy.web_stack.ApplicationStack(app=None, config=None)[source]
Bases:
object
- log_filter_class
alias of
ApplicationStackLogFilter
- log_format = '%(name)s %(levelname)s %(asctime)s [pN:%(processName)s,p:%(process)d,tN:%(threadName)s] %(message)s'
- server_name_template = '{server_name}'
- default_app_name = 'main'
- init_job_handling(job_config)[source]
Automatically add pools as handlers if they are named per predefined names and there is not an explicit job handler assignment configuration.
Also automatically set the preferred assignment method if pool handlers are found and an assignment method is not explicitly configured by the administrator.
- property pool_name
- property configured_pools
- property facts
- class galaxy.web_stack.WebApplicationStack(app=None, config=None)[source]
Bases:
ApplicationStack
- class galaxy.web_stack.GunicornApplicationStack(app=None, config=None)[source]
Bases:
ApplicationStack
- do_post_fork = False
- late_postfork_event = <threading.Event object>
- class galaxy.web_stack.WeblessApplicationStack(app=None, config=None)[source]
Bases:
ApplicationStack
- property configured_pools
- galaxy.web_stack.application_stack_class() Type[ApplicationStack] [source]
Returns the correct ApplicationStack class for the stack under which this Galaxy process is running.
- galaxy.web_stack.application_stack_instance(app=None, config=None) ApplicationStack [source]
Submodules
galaxy.web_stack.gunicorn_config module
Gunicorn config file based on https://gist.github.com/hynek/ba655c8756924a5febc5285c712a7946
- galaxy.web_stack.gunicorn_config.on_starting(server)[source]
Attach a set of IDs that can be temporarily re-used.
Used on reloads when each worker exists twice.
- galaxy.web_stack.gunicorn_config.nworkers_changed(server, new_value, old_value)[source]
Gets called on startup too.
Set the current number of workers. Required if we raise the worker count temporarily using TTIN because server.cfg.workers won’t be updated and if one of those workers dies, we wouldn’t know the ids go that far.
- galaxy.web_stack.gunicorn_config.on_reload(server)[source]
Add a full set of ids into overload so it can be re-used once.
galaxy.web_stack.handlers module
Utilities for dealing with the Galaxy ‘handler’ process pattern.
A ‘handler’ is a named Python process running the Galaxy application responsible for some activity such as queuing up jobs or scheduling workflows.
- class galaxy.web_stack.handlers.HANDLER_ASSIGNMENT_METHODS(value)[source]
-
An enumeration.
- MEM_SELF = 'mem-self'
- DB_SELF = 'db-self'
- DB_PREASSIGN = 'db-preassign'
- DB_TRANSACTION_ISOLATION = 'db-transaction-isolation'
- DB_SKIP_LOCKED = 'db-skip-locked'
- exception galaxy.web_stack.handlers.HandlerAssignmentSkip[source]
Bases:
Exception
Exception for handler assignment methods to raise if the next method should be tried.
- class galaxy.web_stack.handlers.ConfiguresHandlers[source]
Bases:
object
- DEFAULT_HANDLER_TAG = '_default_'
- property deterministic_handler_assignment
- property is_handler
Indicate whether the current server is configured as a handler.
- Returns:
bool
- property handler_tags
Get an iterable of all configured handler tags.
- property self_handler_tags
Get an iterable of the current process’s configured handler tags.
- assign_handler(obj, configured=None, **kwargs)[source]
Set a job handler, flush obj
Called assignment methods should raise py:class:HandlerAssignmentSkip to indicate that the next method should be tried.
- Parameters:
obj (instance of
galaxy.model.Job
or other model object with aset_handler()
method.) – Object to assign a handler to (must be a model object withhandler
attribute andlog_str
callable).configured (str or None.) – Preconfigured handler (ID, tag, or None) for the given object.
- Returns:
bool – True on successful assignment, False otherwise.
galaxy.web_stack.message module
Web Application Stack worker messaging.
- class galaxy.web_stack.message.ApplicationStackMessageDispatcher[source]
Bases:
object
- property handler_count
- class galaxy.web_stack.message.ApplicationStackMessage(target=None, **kwargs)[source]
Bases:
dict
- default_handler = None
- class galaxy.web_stack.message.ParamMessage(target=None, params=None, **kwargs)[source]
Bases:
ApplicationStackMessage
- property params
- class galaxy.web_stack.message.TaskMessage(target=None, params=None, **kwargs)[source]
Bases:
ParamMessage
- static default_handler(self, msg)[source]
Can be bound to an instance of any class that has message handling methods named like _handle_{task}_method
- property task
- class galaxy.web_stack.message.JobHandlerMessage(target=None, params=None, **kwargs)[source]
Bases:
TaskMessage
- target = 'job_handler'
- class galaxy.web_stack.message.WorkflowSchedulingMessage(target=None, params=None, **kwargs)[source]
Bases:
TaskMessage
- target = 'workflow_scheduling'
galaxy.web_stack.transport module
Web application stack operations