Handler: workflow is not installed…
-
Ich habe versucht, die Crontab-Konfiguration gem. Manual (http://doc.i-doit.org/wiki/DE:Systemkonfiguration#Konfiguration_Linux) zum laufen zu bringen.
Mein aktuelles i-doit webroot habe ich dabei für den Cronjob und in der Datei ./i-doit-root/controller angepasst.
Wenn ich den cronjob manuell ausführe bekomme ich folgende Fehlermeldung:
i-doit 0.9.2 cl-controller
Handler: workflow is not installed (Check your config file).
Usage: controller.php [OPTION]
e.g.: controller.php -m workflow
Options:
-m HANDLER Load handler HANDLER.
-h This help text
-v Verbose mode
-d Displays ALL debug messagesHANDLER can be one of the following availlable handlers:
Currently there are no handlers installed.-v zeigt folgendes:
[!] Error : Handler inclusion failed: workflow does not exist in /srv/www/htdocs/i-doit/src/handler/.
Wäre nett, wenn mir jemand helfen könnte.
Sehe ich das richtig, dass der Cronjob das Handling von Workflows von Typ "Checklist" u.ä. übernimmt?
-
Ja, das ist korrekt. Er übernimmt das Handling von wiederkehrenden Workflows und erstellt Tasks inkl. E-Mail Benachrichtigung, welche aus den Parametern einer Checklist resultieren.
Beispiel szenario:
Checklist: Bänderwechseln, Täglich 17 Uhr. Zugewiesen: Max Mustermann, controller -m workflow läuft jede Nacht um 3 Uhr- Erstellt jeden Tag um 3 Uhr einen Task und weist diesen Max Mustermann zu. Dieser Task kann dann vom Empfänger entsprechend angenommen und abgeschlossen werden.
–
Zur Lösung des Fehlers:
Gehe in die config.inc.php im /srv/www/htdocs/i-doit/src/ Verzeichnis.
Suche nach dem Stichwort $g_controller und ersetze die dazugehörigen Zeilen mit:$g_controller = array(
"handler" => array(
"workflow" =>
array(
"class" => "isys_handler_workflow"),
"syslog" =>
array(
"class" => "isys_handler_syslog_connector"),
"licence" =>
array(
"class" => "isys_handler_licence"),
"mandator" =>
array(
"class" => "isys_handler_mandator")
)
);Dann sollte alles klappen.
-
Danke, der cronjob läuft jetzt ohne Fehlermeldung durch.
Den ganzen Abschnitt gab es in meiner config.inc.php gar nicht. Das ist eine neue Installation 0.9.2 mit Web-Installer aufgesetzt. Die config.inc.php hatte ich bisher noch nicht editiert.
-
Auch wenn der cronjob läuft, klappt's nicht so wie ich das erwarte (kann natürlich an der falschen Erwartung liegen).
Ich erstelle je einen Task und eine Checklist (stündlich) und weise sie einem zweiten Account zu. Anschließend erhalte ich für beide eine Mail-Benachrichtigung.
Wenn ich im zweiten Account jedoch im my-doit die Workflows prüfe, sehe ich nur den Task, kann ihn annehmen und abschließen. Den Tasks aus der Checklist kann ich im "my-doit" nicht finden oder grundsätzlich annehmen.
Was könnte ich falsch machen?
-
Wurde der Task aus der Checklist mit dem controller erstellt und deinem eingeloggten User zugewiesen?
-
Ich hoffe, ich habe Deine Frage richtig verstanden.
Ich finde unter "Workflow - Tasks" keinen aus der Checklist heraus generierten Task, egal mit welchem Filter. Die Checklist hat den Status "Auftrag ist erstellt, aber wurde noch von keinem angenommen."
Das Datenmodell in der DB habe ich leider noch nicht so richtig durchschaut.
-
Ein Task wird aus einer Checklist nur erstellt, wenn du bei Erstellung der Checklist:
- ein Start & End-Datum festlegst
- die Häufigkeit zur Wiederholung definierst
und danach den controller mit den entsprechenden Workflow Parametern startest und sich der aktuelle Tag innerhalb der Periode befindet
Wenn das alles korrekt ist, hat der controler im -v Mode ausgegeben, dass er einen Task erstellt hat?
-
Komme leider immer noch nicht weiter.
Hatte die Checklist ohne Ende-Datum definiert (die meisten wiederkehrenden Aufgaben haben halt kein absehbares Ende). Das habe ich jetzt geändert. Die Häufigkeit hatte ich ohnehin angegeben.
Aber wie starte ich den Controller "mit den entsprechenden Workflow Parametern"? Der Cron-Job läuft.
Ich habe Wiki und Forum praktisch komplett durch, habe aber nichts finden können.
-
Den controller startest du so:
cd /path/to/i-doit
chmod +x controller
./controller -v -m workflowdas ganze sollte dann per cronjob täglich so gestartet werden:
0 0 * * * /path/to/i-doit/controller -v -m workflow > /var/log/i-doit/workflow-controllermkdir /var/log/i-doit/ nicht vergessen
-
Klassische Verständnisprobleme. Damit habe ich das Thema ja angefangen, der Cron-Job läuft schon lange.
Allerdings gibt er im verbose folgende Meldung aus:
-
Logging in
[!] Error : Could not connect to mandator-id: 1 (Check username, password and mandator id.)- Workflow-Handler initialized (2008-03-05 12:19:09)
- Logging out
Was will er von mir? (Sorry)
-
-
Hallo zusammen,
alleine komme ich hier nicht weiter. jede Hilfe wäre echt nett.
-
Die login infos gibst du in der jeweiligen handler config an: /srv/www/htdocs/i-doit/src/handler/config/isys_handler_workflow.inc.php
Die Mandanten ids kannst du mit "/srv/www/htdocs/i-doit/mandator ls" auslesen. (Du musst das script vielleicht vorher ausführbar machen: chmod +x /srv/www/htdocs/i-doit/mandator)Es wird bald auch möglich sein diese login-daten als parameter zu übergeben, um auch hier Mandantenfähig zu bleiben.
-
Leider hat das auch nicht weitergeholfen. Der Controller gibt im -v jetzt folgendes aus:
* Logging in
* Connected to mandantor: 7 …
* Workflow-Handler initialized (2008-03-18 09:38:09)
* Logging outEin Task wird weiterhin nicht erstellt.
-
hmm wie hast du deine checkliste konfiguriert?
-
Hier ist ein Screenshot:
-
Sieht korrekt aus,
hast du es mal mit täglicher Wiederholung probiert?
Mit allem > Täglich haben wir es zumindest ausgiebig getestetVielleicht gibts bei stündlich einen bug - muss ich mir mal anschauen
–
Das Checklist System ist auch eigentlich nicht fuer eine stündliche Wiederholung ausgelegt, da man keine Uhrzeiten eingeben kann und der cronjob in dem Fall auch stündlich oder sogar öfter gestartet werden müsste -
Ich habe jetzt eine neue tägliche Checklist erstellt:
Manuell den Controller ausgeführt: /srv/www/htdocs/i-doit/controller -v -m workflow.
Es wir die übliche Mail versendet: "Ihnen wurde ein neuer Task von admin zugewiesen…"
Leider passiert dann auch nicht mehr.
-
Hi, das was du unten auswählst sind Ausnahmen.
Ich nehme an, du hast den controller am 07.04 gestartet. Das war ein Montag.
Den Montag müsstest du dann bei den Ausnahmen rausnehmen, damit etwas passiert -
Sorry, falsch gelesen. Ich habe jetzt eine Checklist angelegt, einwöchig, Ausnahmen Samstag/Sonntag. Leider passiert auch hier absolut nichts.