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