Partage
  • Partager sur Facebook
  • Partager sur Twitter

Planification taches

    8 janvier 2020 à 11:41:50

    Bonjour

     Sur mon serveur de jeu. Celui ci est remis à 0 chaque premier jeudi du mois, et le jeudi 15jours suivant. 
     

    J’aimerais déclencher une taches sur mon serveur chaque mardi et mercredi precedent le reset.  

    De L’aide ne serait pas de refus. Merci 

    • Partager sur Facebook
    • Partager sur Twitter
      8 janvier 2020 à 11:51:31

      Les tâches planifiées de Windows ou un crontab pour les systèmes Unix ne fonctionnent pas ???
      • Partager sur Facebook
      • Partager sur Twitter
      Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
        8 janvier 2020 à 13:55:32

        En faite dans mon plugins .cs. J’ai plusieur Commande  cmd que je voudrais exécuter. 

        Le problème n’est pas dans l’exécution de la tâche. Mais dans la méthode de calcul afin de verifier si c’est le jour et lheure à laquelle je veux la déclencher. 

        par exemple pour le mois de janvier. Les reset serveur sont le 2 et le 16. Donc je voudrais executer des commandes le 31 décembre et le 14 janvier.  

        • Partager sur Facebook
        • Partager sur Twitter
          8 janvier 2020 à 15:00:12

          C'est pas top votre machin qui tourne en permanence, juste pour exécuter des cmd à des moments précis.

          C'est le travail des tâches planifiées, pas d'un machin qui peut planter à n'importe quel moment.

          Les taches planifiées lancent très bien des .cmd/.bat, c'est même fait pour.

          Après, votre scheduling est assez complexe, il serait peut-être plus simple de le calculer dans un programme à part et l'utiliser dans un if du .cmd/.bat.

          Cela revient à votre question initiale, mais je ne vois pas trop la complexité.

          Vous utilisez un "DateTime.Now" pour avoir la date courante, vous utilisez la propriété "DayOfWeek" pour savoir quel jour de la semaine on est, vous utilisez la méthode AddDay ou un constructeur de DateTime pour avoir celui correspondant au premier jour du moins courant et celui du mois suivant. Avec leur "DayOfWeek", vous calculez le DateTime du "premier jeudi du mois" pour ces 2 mois, aussi que ceux 15 jours plus tard. Vous avez 4 valeurs, vous calculez la différence entre "DateTime.Now" et ces 4 valeurs, juste avec une soustraction. Il suffit que le Timespan soit inférieur à votre seuil pour exécuter vos "cmd".

          • Partager sur Facebook
          • Partager sur Twitter
          Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
            8 janvier 2020 à 15:19:22

            Ok merci. Je vais étudier cela.

            Je vois pas le problème que sa tourne en permanence. Au contraire vu que c'est un serveur de jeu. Le cmd est obligé de tourné continuellement.

            -
            Edité par cяαzү 8 janvier 2020 à 15:19:31

            • Partager sur Facebook
            • Partager sur Twitter
              8 janvier 2020 à 15:36:59

              >Je vois pas le problème que sa tourne en permanence.

              Code complexe, peu optimal énergétiquement, configuration à mettre en interne dans un programme complexe, votre programme plante : vous n'avez que vos yeux pour pleurer, pas de monitoring simple, pas de politiques de "fallback" évolué, pas de réveil de la machine si besoin, etc... etc...

              En résumé, c'est tout pourrie, et c'est toujours plus simple et plus évolutif de sortie les "tâches planifiées" du reste, TOUJOURS.

              > Au contraire vu que c'est un serveur de jeu.

              Et ???

              Il a justement autre-chose à foutre que checker des dates.

              >Le cmd est obligé de tourné continuellement.

              Grosse erreur aussi, un programme qui doit tourner continuellement doit être un service, pas un simple "cmd", sinon, impossible de bénéficier des fonctionnalités de l'OS : monitoring automatique, redémarrage automatique, recyclage automatique, gestion des fallback, etc...

              Donc, faites un service qui ne gère que ce qu'il a à gérer et utilisez des taches planifiés pour les tâches planifiées, même si cela implique un dialogue avec le service.

              Exemple simple, vous voulez changer l'agenda des remises à zéro, vous n'avez rien à faire autre que changer les tâches planifiées qui demande ces remises à zéro, sans rien changé à votre code serveur et sans avoir à arrêter votre serveur.

              • Partager sur Facebook
              • Partager sur Twitter
              Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.

              Planification taches

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown