Beam::Runner - Execute runnable objects from Beam::Wire containers
beam run <container> <service> [<args...>] beam list beam list <container> beam help <container> <service> beam help
This distribution is an execution and organization system for Beam::Wire containers. This allows you to prepare executable objects in configuration files and then execute them. This also allows easy discovery of container files and objects, and allows you to document your objects for your users.
The container file is a configuration file that describes services. Some of these services are marked as executable by using the Beam::Runnable role.
The container file can have a special service called
$summary which has a short summary that will be displayed when using the
beam list command.
Here's an example container file that has a summary, configures a DBIx::Class schema (using the schema class for CPAN Testers: CPAN::Testers::Schema), and configures a runnable task called
to_metabase located in the class
# migrate.yml $summary: Migrate data between databases _schema: $class: CPAN::Testers::Schema $method: connect_from_config to_metabase: $class: CPAN::Testers::Backend::Migrate::ToMetabase schema: $ref: _schema
For more information about container files, see the Beam::Wire documentation.
A service is an object configured in the container file.
Beam::Runner works with executable objects that consume the Beam::Runnable role. This role requires only a
run() method be implemented in the class.
Services are expected to have documentation that will be displayed by the
beam list and
beam help commands. The
beam list command will display the
NAME section of the documentation, and the
beam help command will display the
SEE ALSO sections of the documentation.
Doug Bell <email@example.com>
This software is copyright (c) 2016 by Doug Bell.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.