ePages 6.17.52 - DE_EPAGES/Installer/API/Service.pm

Package DE_EPAGES::Installer::API::Service

Functions for starting/stopping epages services.

@EXPORT_OK
StopService
StartService
ExistsService
StatusService
StatusWin32Service
StatusUnixService
EpagesCustomizedMysqlDaemon
EpagesCustomizedHttpdDaemon

Functions

EpagesCustomizedHttpdDaemon
EpagesCustomizedMongoDb
EpagesCustomizedMysqlDaemon
ExistsService
StartService
StatusService
StatusUnixService
StatusWin32Service
StopService

EpagesCustomizedHttpdDaemon

Returns name of httpd run script located in /etc/init.d if httpd daemon exists and is ePages customized, otherwise undef.

Syntax
$RunScript = EpagesCustomizedHttpdDaemon($hFlags);
Example
$RunScript = EpagesCustomizedHttpdDaemon();
if ($RunScript) {
    system("$RunScript restart");
} else {
    say 'ePages customized httpd demaon not installed";
}
Input
$hFlags (ref.hash)
flags
  • dieIfMissing - throws error if no ePages customized daemon found

Return
$RunScript (string)
name of httpd run script: /etc/init.d/apache2 (SuSE) or
/etc/init.d/httpd (Redhat)

EpagesCustomizedMongoDb

Returns the name of the MongoDB run script located in /etc/init.d if MongoDB daemon exists, otherwise undef.

Syntax
$RunScript = EpagesCustomizedMongoDb($hFlags);
Example
$RunScript = EpagesCustomizedMongoDb();
if ($RunScript) {
    system("$RunScript restart");
} else {
    say 'ePages customized MongoDB daemon not installed";
}
Input
$hFlags (ref.hash)
flags
  • dieIfMissing - throws error if no ePages customized daemon found

Return
$RunScript (string)
name of MongoDB run script: /etc/init.d/mongodb (Debian) or
/etc/init.d/mysqld (Redhat)

EpagesCustomizedMysqlDaemon

Returns name of MySQL run script located in /etc/init.d if MySQL daemon exists, otherwise undef.

Syntax
$RunScript = EpagesCustomizedMysqlDaemon($hFlags);
Example
$RunScript = EpagesCustomizedMysqlDaemon();
if ($RunScript) {
    system("$RunScript restart");
} else {
    say 'ePages customized MySQL daemon not installed";
}
Input
$hFlags (ref.hash)
flags
  • dieIfMissing - throws error if no ePages customized daemon found

Return
$RunScript (string)
name of MySQL run script: /etc/init.d/mysql (Debian) or
/etc/init.d/mysqld (Redhat)

ExistsService

Returns true if the specified service exists on the current machine.

Syntax
$Exists = ExistsService( $ServiceAlias );
Example
StopService( 'webServer' ) if ExistsService( 'webserver' );
Input
$ServiceAlias (string)
service name, one of
  • epages - 'appserver', 'reqrouter'
  • appserver - epages application service
  • reqrouter - epages request router
  • webserver - web server
  • dbserver - database server
  • cron - scheduled tasks
  • epagesj - 'mongodb', 'epagesj-server', 'solr-server', 'solr-server-slave'
  • mongodb - Mongo DB
  • epagesj-server - epages java server
  • solr-server - solr server
  • solr-server-slave - solr server (slave)

$hFlags (ref.hash)
flags
  • dieIfMissing - throws error if not existing

Return
$Exists (boolean)
returns true if the service exists

StartService

Starts one of the epages services. Stops and restarts the service if it is already running.

Syntax
StartService( $ServiceAlias, $hFlags );
Example
StartService( 'webserver' );
Input
$ServiceAlias (string)
service name, one of
  • epages - 'appserver', 'reqrouter', 'ascacheserver'
  • appserver - epages application service
  • reqrouter - epages request router
  • ascacheserver - epages aspooldbcacheserver
  • webserver - web server
  • dbserver - database server
  • cron - scheduled tasks
  • epagesj - 'mongodb', 'epagesj-server', 'solr-server', 'solr-server-slave'
  • mongodb - Mongo DB
  • epagesj-server - epages java server
  • solr-server - solr server
  • solr-server-slave - solr server (slave)

$hFlags (ref.hash)
flags
  • dieIfMissing - throws error if status is MISSING
  • verbose - verbose

StatusService

Shows current status of the epages service.

Syntax
$hStatus = StatusService( $ServiceAlias, $hFlags );
Example
$hStatus = StatusService( 'webserver' );
use DE_EPAGES::Installer::API::Constants qw(RUNNING);
say 'webserver: running' if $hStatus->{webserver} == RUNNING
Input
$ServiceAlias (string)
service name, one of
  • epages - 'appserver', 'reqrouter', 'ascacheserver'
  • appserver - epages application service
  • reqrouter - epages request router
  • ascacheserver - epages aspooldbcacheserver
  • webserver - web server
  • dbserver - database server
  • cron - epages scheduler: if section [LOOPS] in Scheduler.conf
    has IsActive=0 (global) then STOPPED else RUNNING
  • epagesj - 'mongodb', 'epagesj-server', 'solr-server', 'solr-server-slave'
  • mongodb - Mongo DB
  • epagesj-server - epages java server
  • solr-server - solr server
  • solr-server-slave - solr server (slave)

$hFlags (ref.hash)
flags
  • dieIfMissing - throws error if status is MISSING

Return
$hStatus (ref.hash)
hash list, key is service, value is status, one of (see Constants):
STOPPED => 1 - service is stopped
windows: any status but SERVICE_START_PENDING/SERVICE_RUNNING
PENDING => 2 - service is starting
windows: SERVICE_START_PENDING; UNIX: not implemented
RUNNING => 4 - service is running
windows: SERVICE_RUNNING
DENIED => 8 - status unknown due to insufficient privileges
MISSING => 16 - service not installed

StatusUnixService

Shows current status of run script, located in /etc/init.d/$Service.

Syntax
$Status = StatusUnixService($Service, $hFlags);
Example
$Status = StatusUnixService( 'httpd' );
use DE_EPAGES::Installer::API::Constants qw(RUNNING);
say 'webserver: running' if $Status == RUNNING
Input
$Service (string)
service located in /etc/init.d/$Service
'WEB' is an alias for 'apache2' (SuSE) or 'httpd' (Redhat)
'DB' is an alias for 'mysql' (SuSE) or 'mysqld' (Redhat)
$hFlags (ref.hash)
flags
  • dieIfMissing - throws error if status is MISSING

Return
$Status (integer)
returned status, one of (see DE_EPAGES::Installer::API::Constants):
STOPPED => 1 - service is stopped
RUNNING => 4 - service is running
DENIED => 8 - status unknown due to insufficient privileges
MISSING => 16 - service not installed

StatusWin32Service

Shows current status of the windows service.

Syntax
$Status = StatusWin32Service($Service, $hFlags);
Example
$Status = StatusWin32Service( 'W3SVC' );
use DE_EPAGES::Installer::API::Constants qw(RUNNING);
say 'webserver: running' if $Status == RUNNING
Input
$Service (string)
service name as defined in Service -> Properties
$hFlags (ref.hash)
flags
  • dieIfMissing - throws error if status is MISSING

Return
$Status (integer)
returned status, one of (see DE_EPAGES::Installer::API::Constants):
STOPPED => 1 - any status but SERVICE_START_PENDING/SERVICE_RUNNING
PENDING => 2 - SERVICE_START_PENDING
RUNNING => 4 - SERVICE_RUNNING
MISSING => 16 - service not installed

StopService

Stops one of the epages services.

Syntax
StopService( $ServiceAlias, $hFlags );
Example
StopService( 'webserver' );
Input
$ServiceAlias (string)
service name, one of
  • epages - 'appserver', 'reqrouter', 'ascacheserver'
  • appserver - epages application service
  • reqrouter - epages request router
  • ascacheserver - epages aspooldbcacheserver
  • webserver - web server
  • dbserver - database server
  • cron - scheduled tasks
  • epagesj - 'mongodb', 'epagesj-server', 'solr-server', 'solr-server-slave'
  • mongodb - Mongo DB
  • epagesj-server - epages java server
  • solr-server - solr server
  • solr-server-slave - solr server (slave)

$hFlags (ref.hash)
flags
  • verbose - verbose
  • dieIfMissing - throws error if status is MISSING