我正在编写一个打印系统,在CUPS上放置一个简化的界面 . 用户将作业放入一个队列,系统以各种方式处理它们(统计,页面配额等),然后为用户提供Web界面以将作业分派给多个打印机之一 .
由于可能有多个用户信息亭,管理站等,我需要将作业元数据存储在可以处理并发访问的内容中 . (你能称之为“重入”数据结构吗?)我能想到的一些选择
-
一个MySQL数据库:大量过度杀伤,但肯定是稳定和支持的
-
元数据文件,手动处理并发访问:完全根据我的需要量身定制,但后来我必须重新实现MySQL的原子性子集,并且可能做得不好
-
使用提供的线程安全cupsipp.h API写入CUPS控制文件
最后一个选项听起来最有吸引力,但有一个问题:我用Python写这个,没有pycups和pkipplib似乎都没有办法修改控制文件 .
编辑:我应该澄清pkipplib可以生成新的IPP请求,但是没有给出任何修改现有控制文件的方法 . 也就是说,我必须通过将它们作为新工作提交来进行更新 .
谁有更好的主意?建议将不胜感激 .
1 回答
你考虑过sqlite或redis吗?这两个都是低开销,易于启动,尤其是当你没有真正处理复杂的数据集时 .