Change Password

Please enter the password.
Please enter the password. Between 8-64 characters. Not identical to your email address. Contain at least 3 of: uppercase, lowercase, numbers, and special characters.
Please enter the password.
Submit

Change Nickname

Current Nickname:
Submit

Apply New License

License Detail

Please complete this required field.

  • Ultipa Graph V4

Standalone

Please complete this required field.

Please complete this required field.

The MAC address of the server you want to deploy.

Please complete this required field.

Please complete this required field.

Cancel
Apply
ID
Product
Status
Cores
Applied Validity Period(days)
Effective Date
Excpired Date
Mac Address
Apply Comment
Review Comment
Close
Profile
  • Full Name:
  • Phone:
  • Company:
  • Company Email:
  • Country:
  • Language:
Change Password
Apply

You have no license application record.

Apply
Certificate Issued at Valid until Serial No. File
Serial No. Valid until File

Not having one? Apply now! >>>

Product Created On ID Amount (USD) Invoice
Product Created On ID Amount (USD) Invoice

No Invoice

v4.5
Search
    Français
    v4.5

      Gestion des Processus et des Tâches

      Cette section introduit des méthodes sur un objet Connection pour gérer les processus dans l'instance et les tâches dans le graphset actuel.

      Chaque exemple se concentre uniquement sur l'utilisation de la méthode. Pour un exemple de code complet, veuillez vous référer à l'exemple complet.

      Processus

      Toutes les requêtes UQL, sauf pour les algorithmes exécutés avec la méthode write(), sont exécutées en tant que processus. Les résultats de ces processus sont renvoyés au client une fois terminés et ne sont pas stockés.

      Top()

      Récupère tous les processus en cours d'exécution et en arrêt dans l'instance.

      Paramètres :

      • RequestConfig (Optionnel) : Paramètres de configuration pour la requête.

      Renvoie :

      • List<Process> : La liste de tous les processus dans l'instance.

      // Récupère tous les processus en cours d'exécution et en arrêt dans l'instance
      
      RequestConfig requestConfig = new RequestConfig() { UseMaster = true };
      var processList = await ultipa.Top(requestConfig);
      
      Console.WriteLine(JsonConvert.SerializeObject(processList));
      

      [{"Id":"a_7_33_2","Uql":"n().e().n().e().n().e().n() as p return count(p)","Duration":73,"Status":"RUNNING"}]
      

      Kill()

      Interrompt les processus en cours d'exécution dans l'instance.

      Paramètres :

      • string : ID du processus à tuer ; définissez-le sur * pour tuer tous les processus.
      • RequestConfig (Optionnel) : Paramètres de configuration pour la requête.

      Renvoie :

      • Response : Résultat de la requête.

      // Récupère tous les processus en cours d'exécution et en arrêt dans l'instance et tue tous
      
      RequestConfig requestConfig = new RequestConfig() { UseMaster = true };
      var processList = await ultipa.Top(requestConfig);
      foreach (var process in processList)
      {
          Console.WriteLine("Process ID: " + process.Id);
          Console.WriteLine("UQL: " + process.Uql);
      }
      Thread.Sleep(1000);
      var res = await ultipa.Kill("*", requestConfig);
      
      if (res.Status.ErrorCode == 0)
      {
          Console.WriteLine("Opération réussie");
      }
      

      Process ID: a_6_41_2
      UQL: n().e().n().e().n().e().n() as p return count(p)
      Opération réussie
      

      Tâche

      Les algorithmes exécutés avec la méthode write() sont exécutés en tant que tâches. Ces tâches sont stockées dans le graphset sur lequel elles sont exécutées jusqu'à ce qu'elles soient supprimées.

      ShowTask()

      Récupère les tâches du graphset actuel.

      Paramètres :

      • string ou int : Nom de l'algorithme (string) ou l'ID de la tâche (int) à récupérer.
      • TaskStatus (Optionnel) : Statut de la tâche.
      • RequestConfig (Optionnel) : Paramètres de configuration pour la requête.

      Renvoie :

      • List<Task> : La liste de toutes les tâches dans le graphset.

      RequestConfig requestConfig = new RequestConfig()
      {
          UseMaster = true,
          Graph = "miniCircle",
      };
      
      // Exécute un algorithme en tant que tâche dans le graphset 'miniCircle'
      
      var res = await ultipa.Uql(
          "algo(degree).params({order: 'desc'}).write({file:{filename: 'degree_all'}})",
          requestConfig
      );
      var taskID = Convert.ToInt32(res?.Alias("_task")?.AsTable()?.Rows[0][0]);
      Thread.Sleep(5000);
      
      // Récupère la tâche ci-dessus et affiche les informations de la tâche
      
      var showT = await ultipa.ShowTask(taskID, requestConfig);
      Console.WriteLine("Task ID: " + JsonConvert.SerializeObject(showT[0].Info.TaskId));
      Console.WriteLine("Algo name: " + JsonConvert.SerializeObject(showT[0].Info.AlgoName));
      Console.WriteLine("Task result: " + JsonConvert.SerializeObject(showT[0].result));
      

      Task ID: "72122"
      Algo name: "degree"
      Task result: {"total_degree":"1390.000000","avarage_degree":"4.572368","result_files":"degree_all"}
      

      ClearTask()

      Efface (supprime) les tâches du graphset actuel. Les tâches dont le statut est TaskStatusComputing et TaskStatusWriting ne peuvent pas être effacées.

      Paramètres :

      • string ou int : Nom de l'algorithme (string) ou l'ID de la tâche (int) à récupérer.
      • TaskStatus : Statut de la tâche.
      • RequestConfig (Optionnel) : Paramètres de configuration pour la requête.

      Renvoie :

      • Response : Résultat de la requête.

      RequestConfig requestConfig = new RequestConfig()
      {
          UseMaster = true,
          Graph = "miniCircle",
      };
      
      // Exécute un algorithme en tant que tâche dans le graphset 'miniCircle'
      
      var res = await ultipa.Uql(
          "algo(degree).params({order: 'desc'}).write({file:{filename: 'degree_all'}})",
          requestConfig
      );
      var taskID = Convert.ToInt32(res?.Alias("_task")?.AsTable()?.Rows[0][0]);
      
      Thread.Sleep(5000);
      
      // Efface la tâche ci-dessus et imprime le code d'erreur
      
      var clearT = await ultipa.ClearTask(taskID, requestConfig);
      Console.WriteLine("Task ID: " + taskID);
      if (clearT.Status.ErrorCode == 0)
      {
          Console.WriteLine("Tâche effacée");
      }
      else
      {
          Console.WriteLine("Tâche non effacée");
      }
      

      Task ID: 72124
      Tâche effacée
      

      StopTask()

      Arrête les tâches dont le statut est COMPUTING dans le graphset actuel.

      Paramètres :

      • string : ID de la tâche à arrêter ; définissez-le sur * pour arrêter toutes les tâches.
      • RequestConfig (Optionnel) : Paramètres de configuration pour la requête.

      Renvoie :

      • Response : Résultat de la requête.

      RequestConfig requestConfig = new RequestConfig()
      {
          UseMaster = true,
          Graph = "miniCircle",
      };
      
      // Exécute un algorithme en tant que tâche dans le graphset 'miniCircle'
      
      var res = await ultipa.Uql(
          "algo(degree).params({order: 'desc'}).write({file:{filename: 'degree_all'}})",
          requestConfig
      );
      var taskID = Convert.ToString(res?.Alias("_task")?.AsTable()?.Rows[0][0]);
      
      // Arrête la tâche ci-dessus et imprime le code d'erreur
      
      var stopT = await ultipa.StopTask(taskID, requestConfig);
      Console.WriteLine("Task ID: " + taskID);
      Console.WriteLine("La tâche est arrêtée: " + stopT.Status.ErrorCode);
      

      Task ID: 72126
      La tâche est arrêtée: Success
      

      Exemple Complet

      using System.Data;
      using System.Security.Cryptography.X509Certificates;
      using System.Xml.Linq;
      using Google.Protobuf.WellKnownTypes;
      using Microsoft.Extensions.Logging;
      using Newtonsoft.Json;
      using UltipaService;
      using UltipaSharp;
      using UltipaSharp.api;
      using UltipaSharp.configuration;
      using UltipaSharp.connection;
      using UltipaSharp.exceptions;
      using UltipaSharp.structs;
      using UltipaSharp.utils;
      using Logger = UltipaSharp.utils.Logger;
      using Property = UltipaSharp.structs.Property;
      using Schema = UltipaSharp.structs.Schema;
      
      class Program
      {
          static async Task Main(string[] args)
          {
              // Configurations de connexion
              //URI example: Hosts=new[]{"mqj4zouys.us-east-1.cloud.ultipa.com:60010"}
              var myconfig = new UltipaConfig()
              {
                  Hosts = new[] { "192.168.1.85:60061", "192.168.1.86:60061", "192.168.1.87:60061" },
                  Username = "***",
                  Password = "***",
              };
      
              // Établit la connexion à la base de données
              var ultipa = new Ultipa(myconfig);
              var isSuccess = ultipa.Test();
              Console.WriteLine(isSuccess);
      
              // Configurations de requête
              RequestConfig requestConfig = new RequestConfig()
              {
                  UseMaster = true,
                  Graph = "miniCircle",
              };
      
              // Exécute un algorithme en tant que tâche dans le graphset 'miniCircle'
              
              var res = await ultipa.Uql(
                  "algo(degree).params({order: 'desc'}).write({file:{filename: 'degree_all'}})",
                  requestConfig
              );
              var taskID = Convert.ToInt32(res?.Alias("_task")?.AsTable()?.Rows[0][0]);
              Thread.Sleep(5000);
      
              // Récupère la tâche ci-dessus et affiche les informations de la tâche
      
              var showT = await ultipa.ShowTask(taskID, requestConfig);
              Console.WriteLine("Task ID: " + JsonConvert.SerializeObject(showT[0].Info.TaskId));
              Console.WriteLine("Server ID: " + JsonConvert.SerializeObject(showT[0].Info.ServerId));
              Console.WriteLine("Algo name: " + JsonConvert.SerializeObject(showT[0].Info.AlgoName));
              Console.WriteLine("Task result: " + JsonConvert.SerializeObject(showT[0].result));
          }
      }
      
      Please complete the following information to download this book
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写