User Agent

tabliertablier Membre
Dans le man d'ibtool, je suis tombé sur quelque chose que je ne connais pas: un "User Agent"

Comme j'utilise intensivement ibtool, j'aimerais savoir si je me plante!
D'après ce que je lis, Il s'agirait de l'instanciation(?) d'une application (chargée en mémoire?) qui accélère l'usage répétitif de l'application. Après ouverture, l'agent resterait actif une trentaine de secondes pendant lesquelles tout appel n'exigerait pratiquement aucun temps de lancement de l'application. Je ne trouve pas non plus les conditions d'utilisation!

Bien sur je vais essayer, mais j'aimerais bien savoir, y a t-il quelque chose à  lire la-dessus et ou? Sur le web on trouve tout et n'importe quoi (et même autre chose)!!

Réponses

  • AliGatorAliGator Membre, Modérateur
    05:44 modifié #2
    Je pense que cette notion de "Agent" (j'ai pas vu de notion de "User-Agent", juste de "Agent"... c'est pas pareil.... mais c'est bien de ça que tu voulais parler quand même ?) dans le cadre de ibtool c'est juste pour le lancer sous forme d'un serveur / daemon (comme plein d'autres services, genre apache ou autre d'ailleurs) qui reste donc lancé après son traitement pour accepter d'autres requêtes.

    Ainsi plutôt que de lancer/invoquer ibtool à  chaque fois que tu as un traitement à  faire, et que le programme ibtool se lance, fasse son boulot et termine, ben dans ce mode "Agent" j'imagine donc qu'il y a un daemon qui est lancé et est en écoute permanente des requêtes, à  chaque requête de traitement, il est déjà  lancé, donc il fait le traitement directement (et il reste lancé après pour pouvoir recevoir des autres traitements), bref comme un serveur.

    Bon après c'est qu'une supposition, j'ai pas testé, mais c'est comme ça que je comprends le man.
  • tabliertablier Membre
    05:44 modifié #3
    Effectivement c'est un agent, pas un user-agent. J'ai essayé hier soir. Et ça a planté sans arrêt!
    Ma commande passe par un appel AppleSript du genre:
    "do shell script \"ibtool --agent-name  localagent  --generate-stringsfile 'cheminDu.strings' 'cheminDu.xib'\""
    je compile et j'exécute (executeAndReturnError:). ça plante entre le 2ième et le 5ième appel, aléatoirement.
    Alors que si j'enlève le '--agent-name  localagent' tout marche bien, mais il faut 1mn 30 pour exécuter les 400 appels d'ibtool!

    En fait je travaille sur un programme qui extrait récursivement tout les textes à  traduire d'un projet complet.  L'exemple dont j'extraie les textes comporte 4 langues, (1 projet, 4 sous-projets et 3 sous-sous-projets). Après décompte, 50 fichiers nib par langue. Soit 200 fichiers .nib et j'appelle 2 fois ibtool pour chacun d'eux (voir les sources du projet Cenon).
    Mon but est d'accélérer l'exécution. Donc si le '--agent-name' ne marche pas, je vais passer soit par un NSTask soit par un AppleEvent "syso/exec" (sauf si on me donne une meilleure solution).
  • AliGatorAliGator Membre, Modérateur
    05:44 modifié #4
    Je te conseille de suite de passer par les NSTask plutôt que par AppleScript, déjà  tu gagneras fort en temps d'exécution je pense.
    Après certes vu la doc d'ibtool la notion de "Agent" semble être tout à  fait utile pour ton cas car le lancement de ibtool à  chaque invocation peut perde un poil de temps... mais passer par AppleScript à  mon avis en fait perdre encore plus, à  cette échelle... En tout cas ce qui est sûr c'est que tu ne perdras pas à  passer par NSTask, que tu gardes ensuite en + le côté "Agent"... ou pas
Connectez-vous ou Inscrivez-vous pour répondre.