schumi2004 schreef op dinsdag 06 oktober 2015 @ 11:56:
[...]
De status veranderd direct in PC zoals jezelf al aangeeft zodra ik hem vanuit DSM PC start.
Maar waarom gebeurt dit dan niet zodra ik hem manual via command line start?
Waarom werkt dit wel voor CP, NZBget enz enz maar niet voor AutoSub wat mijn inziens op zelfde manier werkt!?
Dat werkt voor geen enkel package op die manier

De enige manier om de status in PC te wijzigen is door het script uit te (laten) voeren via PC.
Als je een package stopt of start via CLI, dan wijzigt de status in PC niet. Die exit code (/return code) is essentieel voor PC om te weten welke status het package moet krijgen. Het handmatig uitvoeren van start-stop-status zorgt er voor dat jij die exit code krijgt, maar daar heeft PC natuurlijks niks aan.
Ik kan me zo niet herinneren of PC die statussen periodiek/bij het openen van Package Center opvraagt dmv een `start-stop-status status` (het is te lang geleden dat ik het heb uitgezocht, en ik heb die info niet bij de hand), maar dat is de enige verklaring die ik zo kan bedenken waarom jij denkt dat het werkt voor CP en andere packages.
/edit: bijgewerkt nav jouw edit:
Probleem in deze is dat wanneer Monit de service herstart , wat dus direct via start-stop-status gebeurt, dan zie je dit dus niet in DSM terug komen omdat de status niet bijgewerkt wordt wat wel voor andere packages gebeurt.
Dus waar zit het hem in dan? Exit codes lijken mij te kloppen.
Het werkt over het algemeen als volgt:
- Zolang Package Center denkt dat een package draait, staat de status in PC op 'Running';
- Zolang jij niks doet in DSM, blijft PC denken dat een package draait;
- Als een package onverhoopt stopt, dan 'weet' Package Center daar niks van. Die blijft 'Running' zeggen (tenzij jij PC vraagt de status te controleren!);
- Monit, aan de andere kant, monitort de status van het package periodiek, op basis van criteria, zoals een proces met een PID;
- Package stopt om de een of andere reden;
- Monit ziet het, en doet een `start-stop-status start`. Alles klopt weer: er draait een proces met een PID, eventuele PIDfile wordt bijgewerkt, en Monit is tevreden;
- Package Center heeft nooit geweten dat het package gestopt is, en als PC dan toch een `start-stop-status status` doet, dan is er niks aan de hand: er is een PIDfile, met daarin een PID, en daar draait inderdaad een proces op.
[
Voor 34% gewijzigd door
Dr. Bean op 06-10-2015 12:56
]