.net Core Worker Service Linux Daemon

4 min read Jun 03, 2024
.net Core Worker Service Linux Daemon

Exécuter un service de travail .NET Core comme un démon Linux

Introduction

Les services de travail .NET Core sont une excellente option pour exécuter des tâches en arrière-plan sur des systèmes Linux. Ils sont légers, faciles à déployer et à gérer, et peuvent être configurés pour démarrer automatiquement au démarrage du système. En transformant un service de travail .NET Core en démon Linux, vous pouvez garantir son fonctionnement continu même après la déconnexion de la session utilisateur.

Créer un service de travail .NET Core

Tout d'abord, vous devez créer un service de travail .NET Core. Vous pouvez utiliser l'outil de ligne de commande .NET pour générer un nouveau projet :

dotnet new worker -n MyWorkerService

Ce code créera un projet nommé MyWorkerService avec un service de travail de base. Vous pouvez ensuite ajouter votre propre logique métier à la méthode ExecuteAsync de la classe Worker.

Configurer le service pour le démarrage automatique

Pour que le service de travail démarre automatiquement au démarrage du système, vous devez le configurer comme un service système. Cela peut être fait à l'aide de l'outil systemd.

Créez un nouveau fichier de configuration systemd dans /etc/systemd/system/myworkerservice.service avec le contenu suivant :

[Unit]
Description=My Worker Service
After=network.target

[Service]
User=root
WorkingDirectory=/path/to/your/application
ExecStart=/usr/bin/dotnet /path/to/your/application/MyWorkerService.dll
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

Remplacez les valeurs par défaut par les chemins corrects vers votre application.

Activer et démarrer le service

Une fois le fichier de configuration créé, vous devez activer et démarrer le service :

systemctl enable myworkerservice.service
systemctl start myworkerservice.service

Vérifier l'état du service

Vous pouvez vérifier l'état du service à l'aide de la commande systemctl:

systemctl status myworkerservice.service

Conclusion

En suivant ces étapes, vous pouvez configurer un service de travail .NET Core pour qu'il s'exécute en arrière-plan en tant que démon Linux. Cela vous permet d'exécuter des tâches automatiques, telles que la surveillance des fichiers, la mise à jour des données et la planification de tâches, sans intervention manuelle.

N'oubliez pas de remplacer les chemins par défaut par les chemins corrects vers votre application et de vérifier régulièrement l'état du service. Vous pouvez également utiliser des outils de journalisation et de surveillance pour monitorer le service de travail et résoudre les problèmes éventuels.

En résumé, transformer un service de travail .NET Core en démon Linux vous permet de bénéficier de la puissance et de la flexibilité des services de travail .NET Core tout en garantissant un fonctionnement continu et fiable de votre application.