Warning
This document is for an in-development version of Galaxy. You can alternatively view this page in the latest release if it exists or view the top of the latest release's documentation.
galaxy.web_stack package¶
Web application stack operations
-
class
galaxy.web_stack.
ApplicationStackLogFilter
(name='')[source]¶ Bases:
logging.Filter
-
class
galaxy.web_stack.
UWSGILogFilter
(name='')[source]¶ Bases:
logging.Filter
-
class
galaxy.web_stack.
ApplicationStack
(app=None, config=None)[source]¶ Bases:
object
-
name
= None¶
-
prohibited_middleware
= frozenset()¶
-
transport_class
¶ alias of
galaxy.web_stack.transport.ApplicationStackTransport
-
log_filter_class
¶ alias of
ApplicationStackLogFilter
-
log_format
= '%(name)s %(levelname)s %(asctime)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.
-
pool_name
¶
-
configured_pools
¶
-
facts
¶
-
-
class
galaxy.web_stack.
UWSGIApplicationStack
(app=None, config=None)[source]¶ Bases:
galaxy.web_stack.MessageApplicationStack
Interface to the uWSGI application stack. Supports running additional webless Galaxy workers as mules. Mules must be farmed to be communicable via uWSGI mule messaging, unfarmed mules are not supported.
Note that mules will use this as their stack class even though they start with the “webless” loading point.
-
name
= 'uWSGI'¶
-
prohibited_middleware
= frozenset({'wrap_in_static', 'EvalException'})¶
-
transport_class
¶ alias of
galaxy.web_stack.transport.UWSGIFarmMessageTransport
-
log_filter_class
¶ alias of
UWSGILogFilter
-
log_format
= '%(name)s %(levelname)s %(asctime)s [p:%(process)s,w:%(worker_id)s,m:%(mule_id)s] [%(threadName)s] %(message)s'¶
-
server_name_template
= '{server_name}.{pool_name}.{instance_id}'¶
-
postfork_functions
= []¶
-
localhost_addrs
= ('127.0.0.1', '[::1]')¶
-
bind_all_addrs
= ('', '0.0.0.0', '[::]')¶
-
configured_pools
¶
-
instance_id
¶
-
facts
¶
-
-
class
galaxy.web_stack.
PasteApplicationStack
(app=None, config=None)[source]¶ Bases:
galaxy.web_stack.ApplicationStack
-
name
= 'Python Paste'¶
-
-
class
galaxy.web_stack.
WeblessApplicationStack
(app=None, config=None)[source]¶ Bases:
galaxy.web_stack.ApplicationStack
-
name
= 'Webless'¶
-
configured_pools
¶
-
-
galaxy.web_stack.
application_stack_class
()[source]¶ Returns the correct ApplicationStack class for the stack under which this Galaxy process is running.
Submodules¶
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.
-
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_'¶
-
DEFAULT_BASE_HANDLER_POOLS
= ()¶
-
UNSUPPORTED_HANDLER_ASSIGNMENT_METHODS
= ()¶
-
use_messaging
¶
-
deterministic_handler_assignment
¶
-
is_handler
¶ Indicate whether the current server is configured as a handler.
Returns: bool
Get an iteratable of all configured 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 :exception:`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.
- obj (instance of
-
galaxy.web_stack.message module¶
Web Application Stack worker messaging
-
class
galaxy.web_stack.message.
ApplicationStackMessageDispatcher
[source]¶ Bases:
object
-
handler_count
¶
-
-
class
galaxy.web_stack.message.
ApplicationStackMessage
(target=None, **kwargs)[source]¶ Bases:
dict
-
default_handler
= None¶
-
bind_default_handler
(obj, name)[source]¶ Bind the default handler method to obj as attribute name.
This could also be implemented as a mixin class.
-
target
¶
-
set_target
¶
-
-
class
galaxy.web_stack.message.
ParamMessage
(target=None, params=None, **kwargs)[source]¶ Bases:
galaxy.web_stack.message.ApplicationStackMessage
-
params
¶
-
set_params
¶
-
-
class
galaxy.web_stack.message.
TaskMessage
(target=None, params=None, **kwargs)[source]¶ Bases:
galaxy.web_stack.message.ParamMessage
-
static
default_handler
(msg)[source]¶ Can be bound to an instance of any class that has message handling methods named like _handle_{task}_method
-
task
¶
-
static
-
class
galaxy.web_stack.message.
JobHandlerMessage
(target=None, params=None, **kwargs)[source]¶ Bases:
galaxy.web_stack.message.TaskMessage
-
target
= 'job_handler'¶
-
-
class
galaxy.web_stack.message.
WorkflowSchedulingMessage
(target=None, params=None, **kwargs)[source]¶ Bases:
galaxy.web_stack.message.TaskMessage
-
target
= 'workflow_scheduling'¶
-
galaxy.web_stack.transport module¶
Web application stack operations
-
class
galaxy.web_stack.transport.
ApplicationStackTransport
(app, stack, dispatcher=None)[source]¶ Bases:
object
-
SHUTDOWN_MSG
= '__SHUTDOWN__'¶
-
-
class
galaxy.web_stack.transport.
UWSGIFarmMessageTransport
(app, stack, dispatcher=None)[source]¶ Bases:
galaxy.web_stack.transport.ApplicationStackTransport
Communication via uWSGI Mule Farm messages. Communication is unidirectional (workers -> mules).