pulsar package

Subpackages

Submodules

pulsar.core module

class pulsar.core.PulsarApp(**conf)[source]

Bases: object

property only_manager

Convience accessor for tests and contexts with sole manager.

shutdown(timeout=None)[source]

pulsar.locks module

class pulsar.locks.LockManager(lockfile=None)[source]

Bases: object

free_lock(path)[source]
get_lock(path)[source]

Get a job lock corresponding to the path - assumes parent directory exists but the file itself does not.

pulsar.main module

Stand-alone entry point for running Pulsar without a web server.

In its simplest form, this method will check the current directory for an app.yml and run the corresponding configuration as a standalone applciation. This makes sense when app.yml contains a message_queue_url option so Pulsar is configured to listen to a message queue and doesn’t require a web server.

The following commands can be used to bootstrap such a setup.:

mkdir pulsar-mq-config
cd pulsar-mq-config
pulsar-config --mq
pulsar-main

This script can be used in a standalone fashion, but it is generally better to run the pulsar script with --mode webless - which will in turn delegate to this script.

class pulsar.main.PulsarConfigBuilder(args=None, **kwds)[source]

Bases: object

Generate paste-like configuration from supplied command-line arguments.

load()[source]
classmethod populate_options(arg_parser)[source]
setup_dict_logging(config)[source]
setup_file_logging()[source]
to_dict()[source]
class pulsar.main.PulsarManagerConfigBuilder(args=None, **kwds)[source]

Bases: PulsarConfigBuilder

classmethod populate_options(arg_parser)[source]
to_dict()[source]
pulsar.main.absolute_config_path(path, config_dir)[source]
pulsar.main.app_loop(args, log, config_env)[source]
pulsar.main.apply_env_overrides_and_defaults(conf)[source]
pulsar.main.find_ini(supplied_ini, config_dir)[source]
pulsar.main.load_app_configuration(ini_path=None, app_conf_path=None, app_name=None, local_conf=None, config_dir='/home/docs/checkouts/readthedocs.org/user_builds/pulsar/checkouts/latest')[source]
pulsar.main.load_pulsar_app(config_builder, config_env=False, log=None, **kwds)[source]
pulsar.main.main(argv=None, config_env=False)[source]

pulsar.manager_endpoint_util module

Composite actions over managers shared between HTTP endpoint (routes.py) and message queue.

pulsar.manager_endpoint_util.full_status(manager, job_status, job_id)[source]
pulsar.manager_endpoint_util.setup_job(manager, job_id, tool_id, tool_version)[source]

Setup new job from these inputs and return dict summarizing state (used to configure command line).

pulsar.manager_endpoint_util.status_dict(manager, job_id)[source]
pulsar.manager_endpoint_util.submit_job(manager, job_config)[source]

Launch new job from specified config. May have been previously ‘setup’ if ‘setup_params’ in job_config is empty.

pulsar.manager_factory module

class pulsar.manager_factory.ManagerDescription(manager_type='queued_python', manager_name='_default_', manager_options={})[source]

Bases: object

static from_dict(config, manager_name=None)[source]
static from_ini_config(config, manager_name)[source]
class pulsar.manager_factory.ManagerDescriptions[source]

Bases: object

add(manager_description)[source]
pulsar.manager_factory.build_managers(app, conf)[source]

Takes in a config file as outlined in job_managers.ini.sample and builds a dictionary of job manager objects from them.

Module contents