From 003760296997669d63b7d5a4425f8fb2f7fb7b72 Mon Sep 17 00:00:00 2001 From: Riddhesh Sanghvi Date: Tue, 3 Nov 2020 18:43:43 +0530 Subject: [PATCH] Add refresh command Signed-off-by: Riddhesh Sanghvi --- src/Service_Command.php | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/Service_Command.php b/src/Service_Command.php index ac01f23..88da278 100644 --- a/src/Service_Command.php +++ b/src/Service_Command.php @@ -87,7 +87,36 @@ public function enable( $args, $assoc_args ) { EE::Log( sprintf( 'Notice: Service %s already enabled.', $service ) ); } } + } + + /** + * Re-create global services docker-compose file and update global containers. + * + * ## EXAMPLES + * + * # Refresh global services + * $ ee service refresh + */ + public function refresh( $args, $assoc_args ) { + + $running_services = []; + $count = 0; + foreach ( $this->whitelisted_services as $service ) { + $running_services[ $count ]['name'] = $service; + $launch = EE::launch( 'docker-compose ps -q global-' . $service ); + $running_services[ $count ]['state'] = $launch->stdout; + $count++; + } + + \EE\Service\Utils\generate_global_docker_compose_yml( new Symfony\Component\Filesystem\Filesystem() ); + + foreach ( $running_services as $service ) { + if ( ! empty( $service['state'] ) ) { + EE::exec( \EE_DOCKER::docker_compose_with_custom() . " up -d global-${service['name']}", true, true ); + } + } + EE::success( 'Global services refreshed.' ); } /**