J'écris un système d'impression qui met une interface simplifiée au-dessus de CUPS. Les utilisateurs placent les tâches dans une file d'attente, le système les traite de différentes manières (statistiques, quotas de pages, etc.), puis offre à l'utilisateur une interface Web pour répartir le travail sur l'une des imprimantes multiples.Options de stockage des métadonnées sur les travaux d'impression CUPS?
Puisqu'il peut y avoir plusieurs kiosques d'utilisateur, une station d'administration, etc., j'ai besoin de stocker des métadonnées de travail dans quelque chose qui peut gérer l'accès simultané. (Pouvez-vous appeler des structures de données « rentrante ») Quelques options que je peux imaginer sont
- une base de données MySQL: massivement surpuissant, mais certainement stable et soutenu
- fichiers de métadonnées, avec un accès simultané traitées manuellement: parfaitement adapté à mes besoins, mais je dois re-mettre en œuvre un sous-ensemble de l'atomicité de MySQL, et faire probablement mal
- écriture dans les fichiers de contrôle CUPS, en utilisant le cupsipp.h thread-safe fourni API
La dernière option semble la plus attrayante, mais il y a un piège: I ' J'écris ceci en Python, et ni pycups ni pkipplib ne semblent avoir aucun moyen de modifier un fichier de contrôle.
Editer: Je dois préciser que pkipplib peut générer de nouvelles requêtes IPP, mais ne donne aucun moyen de modifier le fichier de contrôle existant. Autrement dit, je devrais faire mes mises à jour en les soumettant comme de nouveaux emplois.
Quelqu'un a-t-il une meilleure idée? Des conseils seraient très appréciés.