Jobserver

Einsatz von AvERP mit Linux als Server- und/oder Anwendungs-OS

Moderator: SYNERPY

Antworten
denis robel
Beiträge: 203
Registriert: Fr Jul 01, 2005 6:33 pm
Wohnort: Leipzig

Jobserver

Beitrag von denis robel »

Hallo,

ich habe da eine Frage bezüglich des Jobservers:
hat den denn jemand als Linux-Anwendung laufen?

Es ist schon irgenwie nervig, das der auf nem Win-Client laufen muss. Ich wollte den als Cron-Job automatisch auf dem Server starten.
Ich denke, dass das automatische Erzeugen der Bestellvorschläge schon vom Server ausgehen sollte.

Kann man den Jobserver als DB-Script ausführen, indem man einfach per Script alle entsprechenden Funktionen der Datenbank anschubst? Wenn ja welche Prozeduren werden denn durch den Jobserver ausgeführt?

Das gleiche gilt natürlich dann auch für den JobDruck...

Denis
Schöne Grüße aus Leipzig

Denis

-
Linux - my life is too short for reboots
Gast

Beitrag von Gast »

Hat dazu keiner einen Vorschlag bzw Hinweis ????
admin
Site Admin
Beiträge: 2673
Registriert: Di Feb 10, 2004 5:48 am
Wohnort: Bayreuth

Beitrag von admin »

Hmmm, hatte eigentlich einen Kommentar geschrieben, hatte wohl nicht ganz mit dem Posten geklappt.

Es sollte prinzipiell möglich sein, SQL-Befehle mittels Chron Job zu starten, allerdings müsste man hier ein Command-Line-Tool haben. Da wir sehr wenig mit Linux arbeiten, ist uns hier leider keins bekannt. Sicherlich können da aber andere im Forum helfen. :wink:
zollikofer
Beiträge: 24
Registriert: Mi Jun 30, 2004 6:39 am

Beitrag von zollikofer »

Hallo,

wir machen das mit cron und dem fbexport-Tool:

http://fbexport.sourceforge.net/

Und das läuft eigentlich sehr zuverlässig.
Zollikofer IT GmbH
mailto: zollikofer@zollikofer-it.ch, web: www.zollikofer-it.ch
tel: +41 71 282 10 15, fax: +41 71 282 10 10
denis robel
Beiträge: 203
Registriert: Fr Jul 01, 2005 6:33 pm
Wohnort: Leipzig

Beitrag von denis robel »

Hallo, das sieht ja gut aus.
Nun müsste ich eben nur noch wissen, welche Scripte ich da auszuführen habe ....

Denis
Schöne Grüße aus Leipzig

Denis

-
Linux - my life is too short for reboots
ctheuring
Beiträge: 24
Registriert: So Mär 06, 2005 11:27 pm
Wohnort: Virneburg/Eifel

Re: Jobserver

Beitrag von ctheuring »

denis robel hat geschrieben:Hallo,

Kann man den Jobserver als DB-Script ausführen, indem man einfach per Script alle entsprechenden Funktionen der Datenbank anschubst? Wenn ja welche Prozeduren werden denn durch den Jobserver ausgeführt?

Das gleiche gilt natürlich dann auch für den JobDruck...

Denis
Hallo,

man kann folgendermaßen ein SQL-Script unter Linux via cron starten:

1. ein shell-script, z.B. sqlscript.sh mit folgedem Inhalt:
/opt/firebird/bin/isql "/daten/fb/daten.fdb" -u "SYSDBA" -p "masterkey" -i "/opt/firebird/ext/update.sql"
------
meldet sich an der DB an und ruft dann das SQL-script auf

2. ein sql-script (hier in /opt/firebird/ext hier mit namen update.sql
UPDATE KONTAKTE SET PAUL = 'weisnichtwas';

3. ein Entrag in der cron, der das shell-script unter 1. aufruft

Christoph
denis robel
Beiträge: 203
Registriert: Fr Jul 01, 2005 6:33 pm
Wohnort: Leipzig

Beitrag von denis robel »

Hallo ctheuring,

diese Variante gefällt mit noch besser, weil man ja für den Cron-Job zusätzlich kein extra Programm benötigt...
Aber jetzt noch einmal die konkrete Frage an Synerpy:

Was wird bzw. welche Prozeduren werden durch den Jobserver ausgeführt und kann man diese in ein Script "packen" damit das Script zeitgesteuert auf dem Linux-Server ausgeführt werden kann????

Denis
Schöne Grüße aus Leipzig

Denis

-
Linux - my life is too short for reboots
SYN14
Beiträge: 216
Registriert: Do Jun 17, 2004 8:08 am

Beitrag von SYN14 »

Hallo,

alles, was im Jobserver auferufen wird, steht in der Tabelle BJOB. Hier sind alle Parameter für die entsprechenden Prozeduren ebenfalls hinterlegt. In AvERP ist dies die Maske "Zeitgesteuerte Programme".

Wenn man für jeden Datensatz in der Tabelle ein eigenes Skript macht und dies in den entsprechenden Intervallen als Job ausführt, sollte dem nichts im Wege stehen.

Ein Skript könnte dann folgendermaßen aussehen:

Code: Alles auswählen

EXECUTE PROCEDURE P_JOB_BBVO;

COMMIT WORK;
Wenn eine Prozedur Parameter erwartet, dann kann dies folgendermaßen angegeben werden:

Code: Alles auswählen

EXECUTE PROCEDURE P_CZEITP(6,CURRENT_DATE,CURRENT_DATE + 10);

COMMIT WORK;
Am besten man testet die Skripte in IBExpert. dann erfährt man auch leichter, welche und ob die Prozedur Eingabeparameter benötigt. Das COMMIT WORK; ist sehr wichtig, um die geänderten Daten in die DB zu schreiben.

Die Intervalle bzw. die Ausführungszeit sind ebenfalls in der Tabelle abgelegt und sollten auch in den ChronJob übernommen werden. Hilfreich ist auf jeden Fall die Maske in AvERP um die Intervalle herauszubekommen.

mfg SYN14
Christian Winkel
Beiträge: 110
Registriert: Mo Feb 07, 2005 10:45 pm

Beitrag von Christian Winkel »

Hallo

Gibt es denn eien Liste der Proceduren, die der "Original"jobserver aufruft, und deren Argumenten?


danke

gruss


Christian
admin
Site Admin
Beiträge: 2673
Registriert: Di Feb 10, 2004 5:48 am
Wohnort: Bayreuth

Beitrag von admin »

Diese sind in der Datenbank im Menüpunkt "Zeitgesteuerte Programme" zu finden.
Christian Winkel
Beiträge: 110
Registriert: Mo Feb 07, 2005 10:45 pm

Beitrag von Christian Winkel »

Hallo

Danke, mehr ist das nicht?

Gibt es eine Duku zu dem Argumenten die man übergeben muß?
Ich würde gerne den Jobserver als Cronjob auf dem Linuxserver laufen lassen.

Christian
denis robel
Beiträge: 203
Registriert: Fr Jul 01, 2005 6:33 pm
Wohnort: Leipzig

Beitrag von denis robel »

Hallo,

der Jobserver ist relativ einfach über Scripte zu ersetzen ...

und das Backup kann man auch gut automatisieren, mein Backup wird auf den Fileserver kopiert.
Dazu führe ich nachfolgendes Script per Cron-Job aus:

*****SCHNIP*****

#! /bin/bash

# Anmelden des Netzlaufwerkes Datensicherung auf Dantschke1
mount -t smbfs -o username=*****,password=***** //192.168.1.4/datensicherung /mnt/datensicherung

#Pfad für die Datensicherung
FILE=/mnt/datensicherung/AvERP/averp_backup$(date +"_%d.%m.%Y")

#Feststellen, ob der Pfad für heutiges Datum schon existiert
#wenn nicht, dann Pfad anlegen
if [ ! -e $FILE ]; then
echo
echo creating $FILE
mkdir /mnt/datensicherung/AvERP/averp_backup$(date +"_%d.%m.%Y")

else
echo
echo $FILE exists
fi

#Datenbanksicherungn
#echo
#echo Backup Demo$(date +"_%d%m%Y_%H%M").GBK wird lokal erstellt
#/opt/firebird/bin/gbak -B -T -v -user sysdba -password masterkey -y /opt/averp/Demo$(date +"_%d%m%Y_%H%M").log /opt/averp/Demo.GDB /opt/averp/Demo$(date +"_
%d%m%Y_%H%M").GBK
echo
echo Datenbanksicherung Dantschke$(date +"_%d%m%Y_%H%M").GBK wird lokal erstellt
/opt/firebird/bin/gbak -B -T -v -user sysdba -password masterkey -y /opt/averp/Dantschke$(date +"_%d%m%Y_%H%M").log /opt/averp/Dantschke.GDB /opt/averp/Dants
chke$(date +"_%d%m%Y_%H%M").GBK
/opt/firebird/bin/gbak -B -T -v -user sysdba -password masterkey -y /opt/averp/security$(date +"_%d%m%Y_%H%M").log /opt/firebird/security.fdb /opt/averp/secu
rity$(date +"_%d%m%Y_%H%M").GBK
#Datensicherung packen
echo
echo Datensicherung wird gepackt
gzip -f /opt/averp/*.GBK --best

#Datensicherung kopieren
echo
echo Datenbanksicherung und Sicherungsprotokoll werden nach $FILE kopiert
mv /opt/averp/*.gz /mnt/datensicherung/AvERP/averp_backup$(date +"_%d.%m.%Y")/
mv /opt/averp/*.log /mnt/datensicherung/AvERP/averp_backup$(date +"_%d.%m.%Y")/

# Abmelden des Netzlaufwerkes Datensicherung auf Dantschke1
umount /mnt/datensicherung

*****SCHNIP*****
Schöne Grüße aus Leipzig

Denis

-
Linux - my life is too short for reboots
denis robel
Beiträge: 203
Registriert: Fr Jul 01, 2005 6:33 pm
Wohnort: Leipzig

Re: Jobserver

Beitrag von denis robel »

Hallo,

ich muss den alten Beitrag hier nochmals ausgraben.
Ich habe gerade angefangen den Jobserver in Python3 ohne GUI nach zuschreiben, damit ich den Jobserver nativ unter Linux laufen lassen kann.
Unter Python gibt es für Firebird und für den Mailversand jeweils fertige und gut dokumentierte Module.

Der wesentliche Vorteil ist dass dann auch die Mails des Nachrichtensystems versendet werden können und nicht für jede Jobprozedur kein Ersatz im Corontab erstellt werden muss.

Für mein Verständnis:

Die Mailconfig liegt in BMAILCFG, wenn mehrere Datensäte vorhanden, dann den verwenden, der im Firmenstamm hinterlegt ist.

Aus BJOB werden alle Prozeduren ausgelesen, die aktiv sind und abgearbeitet werden müssen. Nach dem Durchlauf ist der letzte Durchlauf zu schreiben.
Wofür wird das Kennzeichen Warten in BJOB genutzt, zum parallelem Bearbeiten von Vorgängen?


Wie läuft der Mailversand?

1. Aufruf der P_JOB_MAILVERSAND durch den Jobserver
2. Versand Prozess mit Zugangsdaten aus BMAILCFG
3. P_JOB_NACH_MAILVERSAND durch den Jobserver zum Kennzeichen in BJOBAKT

Ist diese Annahme korrekt?

Hat hier noch jemand Interesse an einem Austausch oder möchte sich ebenfalls mit einbringen?

Schöne Ostern und bleibt alle gesund!
Schöne Grüße aus Leipzig

Denis

-
Linux - my life is too short for reboots
denis robel
Beiträge: 203
Registriert: Fr Jul 01, 2005 6:33 pm
Wohnort: Leipzig

Re: Jobserver

Beitrag von denis robel »

Hallo,

falls es jemanden interessiert, ich habe nun einen laufenden Jobserver (alpha Version) ohne GUI unter der direkt unter Linux läuft.

Es werden die in BJOB eingetragenen Prozeduren ausgeführt und Mails versendet mit dem Account aus BMAILCFG...

z.Z. werden noch alle Prozeduren hintereinander abgearbeitet, aber das werde ich demnächst noch ändern.
Schöne Grüße aus Leipzig

Denis

-
Linux - my life is too short for reboots
Antworten