Corba-MMIMS
Left Up Right Corbammims

Queuemanager

Zweck

Eigentlich soll sich der Endnutzer um die Mailabholung nicht kümmern. Es ist ausreichend, wenn alle paar Stunden der Mailaustausch erfolgt, den schließlich ist die Mail ein asynchroner Mechanismus.

Bei kleinen Netzen in kleinen Unternehmen gibt es manchmal Anforderungen, wenn sehnsüchtig auf eine Mail gewartet wird oder eine Mail besonders dringend gesendet werden muß, wenn ein Kunde am Telefon darauf wartet.

Um diese Anforderungen erfüllen zu können, gibt es unseren Queuemanager, der eine einfache Schnittstelle zum Mailsystem darstellt.

Clients zu diesem Dienst könnten in Mailclients integriert werden.

Interface

Die Schnittstellenspezifikation ist im selben IDL-Modul wie der Dialupmanager, siehe dort.

Dokumentation

Die Kommandos des Queuemanagers werden durch Shellskripte realisiert. Der Vorteil ist die Universalität. So können verschiedene Warteschlagen (mail,uucp, Fax, und dergl. uniform realisiert werden.

Man könnte natürlich auch für jede Warteschlange eine spezielle Schnittstelle bauen ...

Für jede Warteschlange gibt es eine Beschreibungsdatei name.queue. Für alle Dateien im Konfugurationsverzeichnis wird in einem POA ein Objekt bereitgestellt.

Beispiel für Beschreibungsdatei:

# Beschreibungsdatei für die mailq
description="fetchmail und sendmail "
uid=500
fetchcmd=/local/mail/bin/fetchmail ; /local/mail/sbin/sendmail -v -q
mailqcmd=/local/mail/sbin/mailq
queuelencmd= ls /var/spool/mqueue/df* | wc -l
#dialdevice iiopname://rws.intern:8001/DialupManager/ippp0
dialdevice iiopname://rels.intern:8001/DialupManager/ippp0
description
String, der mittels Operation desc() abgefragt werden kann.
uid
Unix-uid, unter der das fetch- und send-Script ausgeführt werden soll
fetchcmd
Script, welches bei Operation fetchandsend() ausgeführt wird.
Die Standardausgabe sowie die Standarderrorausgabe wird über den Logger gepummt.
mailqcmd
Script, welches bei Operation listentries() ausgeführt wird.
Die Standardausgabe wird mit per Iterator zum Client gepummt
queuelencmd
muß einen numerischen String liefern, der von Operation howmanyentries dem Client weitergereicht wird.
dialdevice
Es können mehrere Dialdevice-Corba-urls angegeben werden. Diese werden vor dem Austausch der Mails auf Dialmode automatic gesetzt, und nach der Beendigung wieder auf ihren urspünglichen Zustand.
Damit muß der Nutzer nicht daran denken, vor dem Mailholen das Dialdevice zu setzen

Konfiguration

Im Sourcecode wir auf die selbe config.h wie beim Dialmanager zugegriffen.
Der Queuemanager verwendet auch den selben Nameingcontext. Dort werden alle Warteschlangen eingetragen, deren Beschreibungsdateien im DATAPATH sind. Der Name ist der der Beschreibungsdatei, ohne Suffix .queue.

Graphischer Beispielclient

qtqueuemonitor url
überwacht eine Warteschlange

Rudolf Weber Informatik- und Netzwerkverein Ravensburg e.V