Варианты хранения метаданных о заданиях печати CUPS? - PullRequest
0 голосов
/ 12 февраля 2010

Я пишу систему печати, которая помещает упрощенный интерфейс поверх CUPS. Пользователи помещают задания в одну очередь, система обрабатывает их различными способами (статистика, квоты страниц и т. Д.), А затем предлагает пользователю веб-интерфейс для отправки задания на один из нескольких принтеров.

Поскольку может быть несколько пользовательских киосков, административная станция и т. Д., Мне нужно хранить метаданные задания в чем-то, что может обрабатывать одновременный доступ. (Можете ли вы назвать структуры данных «входящими»?) Несколько вариантов, которые я могу себе представить:

  • база данных MySQL: массово излишняя, но, безусловно, стабильная и поддерживаемая
  • файлы метаданных с одновременным доступом обрабатываются вручную: идеально приспособлены к моим потребностям, но затем я должен заново реализовать подмножество атомарности MySQL и, вероятно, сделать это плохо
  • запись в управляющие файлы CUPS с использованием предоставленного поточно-ориентированного API cupsipp.h

Последний вариант звучит наиболее привлекательно, но есть одна загвоздка: я пишу это на Python, и ни pycups, ни pkipplib, похоже, не имеют никакого способа изменить управляющий файл.

Редактировать: Я должен уточнить, что pkipplib может генерировать новые запросы IPP, но не дает никакого способа изменить существующий контрольный файл. То есть мне придется вносить свои обновления, отправляя их как новые вакансии.

У кого-нибудь есть идея получше? Совет был бы очень признателен.

1 Ответ

0 голосов
/ 13 февраля 2010

Рассматривали ли вы sqlite или redis ? Оба из них имеют низкие накладные расходы и легко раскручиваются, особенно когда вы не имеете дело со сложными наборами данных.

...