Need streaming option for output

Ouverte
#1,537 4 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 2 jours

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
35/100
Type d'issue
Fonctionnalité
Clarté
À clarifier
Activité
Calme
Stack technique
rust
Domaine
cli

Piste de recherche

Aucun fichier, test ou point d’entrée n’est nommé. Commencez par suivre le traitement de la sortie pour get, set, test et export, puis définissez comment l’option JSON-streaming représente chaque ressource ainsi que tout objet executionInformation final ; la tâche est terminée lorsqu’un protocole convenu évite de conserver le résultat complet en mémoire.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Issue-Enhancement Needs Triage Partner-MC
Summary of the new feature / enhancement

When executing a large configuration, all the objects are held in memory and then serialized to JSON once the operation is complete. This can use a huge amount of ram that would affect other system operations.

Proposed technical implementation details (optional)

Introduce a new --output-format JSON-streaming option. This option does not return a complete JSON object, but instead returns:

  1. each output of a resource as a separate JSONline
  2. any final executionInformation type object is at the end (maybe not even needed in this use case?)

May need to consider different output structures of get, set, test, and export. For example, in set do we still output beforeState and afterState? Do we need a simple protocol to indicate which part of the doc is being emitted before streaming the JSONlines so that the consumer doesn't have to try to deserialize every possible type of object?

Langage dominant
Rust
Étoiles
543
Forks
78
Merge moyen
2 j 5 h
PR mergées (30 j)
22

Préparer son environnement

Ouvrir dans Codespaces

Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de PowerShell/DSC

Toutes les issues de PowerShell/DSC

Issues similaires

Plus d'issues Rust

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.