存储有关CUPS打印作业的元数据的选项?

时间:2010-02-12 19:55:40

标签: python concurrency cups ipp-protocol

我正在编写一个打印系统,它将简化的界面放在CUPS之上。用户将作业放入一个队列,系统以各种方式处理它们(统计,页面配额等),然后为用户提供Web界面以将作业分派给多个打印机之一。

由于可能有多个用户信息亭,管理员站等,我需要将作业元数据存储在可以处理并发访问的内容中。 (你能称之为数据结构“重入”吗?)我能想象的几个选项是

  • 一个MySQL数据库:大量过度杀伤,但肯定是稳定的和支持的
  • 元数据文件,手动处理并发访问:完全根据我的需要量身定制,但后来我必须重新实现MySQL的原子性子集,并且可能做得不好
  • 使用提供的线程安全cupsipp.h API
  • 写入CUPS控制文件

最后一个选项听起来最有吸引力,但有一个问题:我用Python写这个,并没有pycups和pkipplib似乎都没有办法修改控制文件。

编辑:我应该澄清pkipplib可以生成新的IPP请求,但是没有给出任何修改现有控制文件的方法。也就是说,我必须通过将它们作为新工作提交来进行更新。

任何人都有更好的主意?建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

您是否考虑过sqliteredis?这两个都是低开销,易于启动,特别是当你没有真正处理复杂的数据集时。