6. Mai 2009 

Die Mac-Servermaschinen überwache und administriere ich über iChat. Das habe ich hier beschrieben.

Ab und an, will iChat nicht mehr so richtig. Ich weiß nicht, was passiert ist. Es hilft iChat neu zu starten. Um nicht, wenn iChat nicht mehr will, zur Mac-Servermaschine fahren zu müssen oder dort jemanden zu bitten, mir diese Arbeit abzunehmen, habe ich eine Lösung in 4D eingebaut.

Ein Prozeß, der permanent läuft, beendet iChat einmal täglich und startet es wieder neu. Es bot sich an, dazu den eMail-Scheduler zu verwenden. Das sieht dann so aus:

If ($last_iChatQuit_D<Current date)
  $error_L:=AS_Tool ("App_Quit";"iChat")
  DELAY PROCESS(Current process;15*60) `hier 15 Sekunden
  $error_L:=AS_Tool ("App_Start";"iChat")
  $last_iChatQuit_D:=Current date
End if

AS_Tool macht die eigentliche Arbeit. Das sind dort die entsprechenden Zeilen, Parameterübergabe und Fehlerbehandlung sind nicht dargestellt:

: ($what="App_@")
    Case of
    : ($what="@_Quit")
     $scriptText:="tell application \""+$appName+"\" to quit"
    : ($what="@_Start")
     $scriptText:="tell application \""+$appName+"\" to activate"
    Else
   End case
   If ($scriptText#"")
    $scriptText:="osascript -e '"+$scriptText+"'"
    LAUNCH EXTERNAL PROCESS($scriptText;$in;$out;$error)
   End if

Das fehlte noch, um den Server rund um die Uhr erreichen zu können. Die knappe Minute Auszeit kurz nach Mitternacht ist zu verschmerzen. Einmal die Woche reichte wahrscheinlich ebenfalls.

4D Themen: Berichte in Arbeit