class ModulesService (View source)

Methods

static string
getCurrentModuleName()

Gets the name of the currently running module.

static string
getCurrentVersionName()

Gets the version of the currently running module.

static string
getCurrentInstanceId()

Gets the id of the currently running instance.

static string[]
getModules()

Gets an array of all the modules for the application.

static string[]
getVersions(string $module = null)

Get an array of all versions associated with a module.

static string
getDefaultVersion(string $module = null)

Get the default version of a module.

static integer
getNumInstances(string $module = null, string $version = null)

Get the number of instances set for a version of a module.

static 
setNumInstances($instances, $module = null, $version = null)

Set the number of instances for a version of a module.

static 
startVersion(string $module, string $version)

Starts all instances of the given version of a module.

static 
stopVersion(string $module = null, string $version = null)

Stops all instances of the given version of a module.

static string
getHostname(string $module = null, string $version = null, string $instance = null)

Returns the hostname to use when contacting a module.

Details

static string getCurrentModuleName()

Gets the name of the currently running module.

Return Value

string The name of the current module. For example, if this is version "v1" of module "module5" for app "my-app", this function will return "module5".

static string getCurrentVersionName()

Gets the version of the currently running module.

Return Value

string The name of the current module. For example, if this is version "v1" of module "module5" for app "my-app", this function will return "v1".

static string getCurrentInstanceId()

Gets the id of the currently running instance.

Return Value

string The name of the current module. For example, if this is instance 2 of version "v1" of module "module5" for app "my-app", this function will return "2". For automatically-scaled modules, this function will return a unique hex string for the instance (e.g. "00c61b117c7f7fd0ce9e1325a04b8f0df30deaaf").

static string[] getModules()

Gets an array of all the modules for the application.

Return Value

string[] An array of string containing the names of the modules associated with the application. The 'default' module will be included if it exists, as will the name of the module that is associated with the instance that calls this function.

static string[] getVersions(string $module = null)

Get an array of all versions associated with a module.

Parameters

string $module The name of the module to retrieve the versions for. If null then the versions for the current module will be retrieved.

Return Value

string[] An array of strings containing the names of versions associated with the module. The current version will also be included in this list.

Exceptions

InvalidArgumentException If $module is not a string.
ModulesException If the given $module isn't valid.
TransientModulesException if there is an issue fetching the information.

static string getDefaultVersion(string $module = null)

Get the default version of a module.

Parameters

string $module The name of the module to retrieve the default versions for. If null then the default versions for the current module will be retrieved.

Return Value

string The default version of the module.

Exceptions

InvalidArgumentException If $module is not a string.
ModulesException If the given $module is invalid or if no default version could be found.

static integer getNumInstances(string $module = null, string $version = null)

Get the number of instances set for a version of a module.

This function does not work on automatically-scaled modules.

Parameters

string $module The name of the module to retrieve the count for. If null then the count for the current module will be retrieved.
string $version The version of the module to retrieve the count for. If null then the count for the version of the current instance will be retrieved.

Return Value

integer The number of instances set for the current module version.

Exceptions

InvalidArgumentException If $module or $version is not a string.
ModulesException if the given combination of $module and $version is invalid.

static setNumInstances($instances, $module = null, $version = null)

Set the number of instances for a version of a module.

This function does not work on automatically-scaled modules.

Parameters

$instances
$module
$version

Exceptions

InvalidArgumentException If $instances is not an integer or if $module or $version is not a string.
ModulesException if the given combination of $module and $version is invalid.
TransientModulesException if there is an issue setting the instance count.

static startVersion(string $module, string $version)

Starts all instances of the given version of a module.

*

Parameters

string $module The name of the module to start.
string $version The version of the module to start.

Exceptions

InvalidArgumentException If $module or $version is not a string.
ModulesException if the given combination of $module and $version is invalid.
InvalidModuleStateException if the given $version is already started or cannot be started.
TransientModulesException if there is an issue starting the module version.

static stopVersion(string $module = null, string $version = null)

Stops all instances of the given version of a module.

*

Parameters

string $module The name of the module to stop. If null then the current module will be stopped.
string $version The version of the module to stop. If null then the current version will be stopped.

Exceptions

InvalidArgumentException If $module or $version is not a string.
ModulesException if the given combination of $module and $version instance is invalid.
InvalidModuleStateException if the given $version is already stopped or cannot be stopped.
TransientModulesException if there is an issue stopping the module version.

static string getHostname(string $module = null, string $version = null, string $instance = null)

Returns the hostname to use when contacting a module.

*

Parameters

string $module The name of the module whose hostname should be returned. If null then the hostname of the current module will be returned.
string $version The version of the module whose hostname should be returned. If null then the hostname for the version of the current instance will be returned.
string $instance The instance whose hostname should be returned. If null then the load balanced hostname for the module will be returned. If the module is not a fixed module then the instance parameter is ignored.

Return Value

string The valid canonical hostname that can be used to communicate with the given module/version/instance e.g. "0.version1.module5.myapp.appspot.com".

Exceptions

InvalidArgumentException If $module or $version is not a string or if $instance is not a string or integer.
ModulesException if the given combination of $module and $instance is invalid.