Guide des développeurs pour les services de données Sun Cluster pour SE Solaris

Démarrage et arrêt d'un service de données

Une méthode Start doit réaliser les actions requises pour démarrer un service de données sur un nœud du cluster. En règle générale, ces actions comprennent la récupération des propriétés de ressource, la localisation des fichiers exécutables et de configuration propres à l'application et le lancement de l'application à l'aide des arguments de ligne de commande appropriés.

La fonction scds_initialize recherche et extrait la configuration des ressources. La méthode Start peut utiliser les fonctions de convenance des propriétés pour récupérer les valeurs de propriétés spécifiques, comme Confdir_list, servant à identifier les répertoires et les fichiers de configuration de l'application à lancer.

Une méthode Start peut exécuter scds_pmf_start pour lancer une application sous le contrôle de la fonction PMF (Process Monitor Facility). Cette fonction vous permet de spécifier le niveau de surveillance à appliquer au processus et de redémarrer le processus en cas d'échec. Reportez-vous à la rubrique Méthode xfnts_start ; vous y découvrirez un exemple de méthode Start mise en œuvre avec la BDSD.

Une méthode Stop doit être idempotente, ce qui permet de la fermer avec succès même si elle est appelée sur un nœud lorsque l'application ne fonctionne pas. Si la méthode Stop échoue, la ressource arrêtée bascule en mode STOP_FAILED, ce qui engendre une réinitialisation forcée du cluster.

Pour éviter le basculement de la ressource en mode STOP_FAILED, la méthode Stop doit tout mettre en œuvre pour arrêter la ressource. La fonction scds_pmf_stop se caractérise par une tentative d'arrêt de la ressource par phase. Elle tente tout d'abord de l'arrêter à l'aide du signal SIGTERM, puis, en cas d'échec, elle utilise un signal SIGKILL. Reportez-vous à scds_pmf_stop(3HA) pour de plus amples informations.