Zum Inhalt springen

Projektantrag - Bitte um Bewertungen


 Teilen

Empfohlene Beiträge

Hallo zusammen,

ich bin ein bisschen Spät dran was meinen Projektantrag angeht. Ich muss diesen bis zum 31. in der IHK zu Schwerin abgeben. Ich habe mich nun hingesetzt und diesen ausformuliert und würde gerne eure Meinung dazu hören.

Ich bedanke mich im Voraus für die Bewertungen.

________________________________________________________

Projektbezeichnung

Externe Kontrolle von Cronjobs

Kurze Projektbeschreibung

In der Firma XYZ wird eine Cluster System betrieben. Dieses ist auf Hochverfügbarkeit ausgelegt. Damit dieses gewährleistet ist müssen auch Cronjobs doppelt ausgeführt werden. Einige Jobs dürfen aber nicht ausgeführt werden, während der gleiche von einem anderen System ausgeführt wird. Bei erhöhter Auslastung ist dieses nicht immer gewährleistet. Daher soll eine externe Überwachung stattfinden. Es soll eine Lösung gefunden werden um die doppelte Ausführung zu verhindern. Es soll dazu angegeben werden, wie lange ein Job maximal laufen soll, ist diese Zeit überschritten soll ein Administrator per E-Mail informiert werden. Eine Weboberfläche soll zur Kontrolle dienen. Diese benötigt keinen Login, da der Login mittels HTTP Authentifizierung realisiert wird.

Projektumfeld

Die Firma XYZ ist Anbieter eines Browsergames. Dieses Browsergame ist in der Türkei, Polen, Deutschland und in den USA vertreten. Das Projekt wird in der eigenen Firma stattfinden. Genutzt wird dabei ein Standard Computer mit Windows 7.

Die Projektarbeit wird als PHP und MySQL Applikation realisiert. Hierbei ist ein Apache Webserver mit MySQL Datenbank gegeben. Für die Weboberfläche wird HTML mit CSS und Javascript eingesetzt.

Zeitplanung

1. Analyse / Initialsierungsphase 9h

  • a. Ist-Konzeptanalyse 1h
  • b. Soll-Konzeptanalyse 2h
  • c. Kostenanalyse 1h
  • d. Pflichtenheft 5h

2. Konzeptionierung / Designphase 7h

  • a. Datenbankentwurf 4h
  • b. Programmablaufplan 3h

3. Realsierungsphase 28h

  • a. Erstellung von Templates 4h
  • b. Implementierung der Datenbank 3h
  • c. Implementierung Kernsystem 18h
  • d. Implementierung Templates 3h

4. Testphase 10h

  • a. Testplanung 3h
  • b. Tests durchführen 2h
  • c. Fehlerbehebung 5h

5. Dokumentation 15h

  • a. Projektdokumentation 10h
  • b. Entwicklerdokumentation 4h
  • c. Ist-Soll Vergleich 1h

6. Abnahme 1h

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das beantwortet aber nicht die Frage, denn um PHP Dateien ausführen zu können, brauche ich nur den PHP Interpreter und keinen Webservice, wenn das PHP Script auf die Datenbank zugreifen soll, dann eben noch die Datenbank. Eine externe Überwachung würde ich via Nagios machen.

Wenn der Cron-Dämon das PHP Script startet, dann muss nur sichergestellt werden, dass das Script eben eine Art Lock anlegt, so dass bei mehrfachen Start eben nur eine Instanz läuft. Der Lock muss dann nach der Beendigung des Scriptes wieder entfernt werden. Zusätzlich muss natürlich sicher gestellt werden, wenn das Script abstürzt, wie mit dem Lock zu verfahren ist. Die reine Überwachung, z.B. ob und wann das Script und/oder ob es in definierten Intervallen läuft, macht man dann mit Nagios.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Was mit Nagios alles möglich ist weiß ich nicht. Das mit den LOCK funktioniert leider nicht immer 100% daher soll dies nun extern erledigt werden. Es bietet dem Anwender auch die Möglichkeit unterwegs mal rein zuschauen. In der Datenbank selbst wird der aktuelle Status des Jobs gespeichert. Kommt dieser nun ein 2. mal an kann ein Error zurück gesendet werden und der Job kann darauf reagieren.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das mit den LOCK funktioniert leider nicht immer 100% daher soll dies nun extern erledigt werden.

Wieso ? Man muss letztendlich nur über alle Prozesse passend serialisieren und für einen passenden Mutex sorgen. Also da sehe ich kein Problem drin. Ich will mal anmerken, dass Du Dein Projekt auch "verteidigen" musst.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wieso ? Man muss letztendlich nur über alle Prozesse passend serialisieren und für einen passenden Mutex sorgen. Also da sehe ich kein Problem drin. Ich will mal anmerken, dass Du Dein Projekt auch "verteidigen" musst.

Du hast selbst geschrieben das wenn solch ein Prozess abschmiert das man mit den Lock auch etwas machen muss, nun kann man ja einräumen das wenn eine Job seine Zeit überschritten hat der der Job trotzdem laufen darf obwohl der Lock noch vorhanden ist. Evtl könnte man ihn dann sogar dazu anhalten das er diesen Lock wieder aufhebt. Das bietet doppelte Sicherheit wobei einmal der Lock vorhanden ist und die externe Abfrage. Bei entsprechender Last im Cluster ist es des öfteren dazu gekommen das solche Prozesse abgeschmiert sind.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du hast selbst geschrieben das wenn solch ein Prozess abschmiert das man mit den Lock auch etwas machen muss, nun kann man ja einräumen das wenn eine Job seine Zeit überschritten hat der der Job trotzdem laufen darf obwohl der Lock noch vorhanden ist.

Ja natürlich, aber das Problem hat man immer bei verteilten Systemen.

Evtl könnte man ihn dann sogar dazu anhalten das er diesen Lock wieder aufhebt. Das bietet doppelte Sicherheit wobei einmal der Lock vorhanden ist und die externe Abfrage. Bei entsprechender Last im Cluster ist es des öfteren dazu gekommen das solche Prozesse abgeschmiert sind.

Ich will mal so sagen, es gibt für so etwas einige bekannte Algorithmen, die man dafür verwenden kann. Die Stichworte sind "Wahlalgorithmen" bzw. "verteilte Transaktionen", gerade beim letzteren gibt es eine Vielzahl von Lösungsmöglichkeiten.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Deine Meinung

Schreibe jetzt und erstelle anschließend ein Benutzerkonto. Wenn Du ein Benutzerkonto hast, melde Dich bitte an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

 Teilen

Fachinformatiker.de, 2021 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...

Wichtige Information

Fachinformatiker.de verwendet Cookies. Mehr dazu in unserer Datenschutzerklärung