[Announce] New Plugin : bgprocess

  • Von der vdr mailing list:

  • Hi,
    i tried to compile the plugin and everthing was right but when i try to load with -Pbgprocess i receive this message:


    Code
    vdr: ./PLUGINS/lib/libvdr-bgprocess.so.1.6.0: undefined symbol: tlPhrases


    More, i can see it's not completely compatible with gettext.
    Can you please insert these row to the final po?


    Code
    static const char *DESCRIPTION    = "Collects and lists background processes and their status";
    static char MAINMENUENTRY[32]     = "Activity";


    Bye

  • Hallo,
    hat diese Meldung nach der Installation etwas zu sagen?

    Code
    Plugin Parameter werden in /etc/vdr.d/plugins/bgprocess gesetzt
    cp: Aufruf von stat für „bgprocess“ nicht möglich: Datei oder Verzeichnis nicht gefunden


    /etc/vdr.d/plugins/bgprocess


    bis dann,
    Nando

    TEST FOXCONN 560A "Cool`n`Quiet"
    Software: Gen2VDR V2 + vdr-1.6-ext59 + Nvram-Wakeup + KDE
    Hardware: AMD Athlon 64 X2 Dual Core 4800+, 4GB DDR2RAM, SAMSUNG SATA HD501LJ 500 GB, SAMSUNG SP2514N 250 GB, HD SV1604N 160GB, HL-DT-STDVD-RAM GSA-H58N, Cablestar2, TTDVB-C + Scart-out + ASUS-SPDIF


    Activy 300
    Software: Gen2VDR V2 + vdr-1.4.7-ext40 + STR + FreeVo (Browser, Games, ... )
    Hardware: 256MB SDRAM, HD SV1604N 160GB, DVD SD-M1612, FSDVB-C + Scart-out, Technisat Cablestar2, leise

  • Aha, danke. Ich mache den Eintrag im Bugtracker.

    TEST FOXCONN 560A "Cool`n`Quiet"
    Software: Gen2VDR V2 + vdr-1.6-ext59 + Nvram-Wakeup + KDE
    Hardware: AMD Athlon 64 X2 Dual Core 4800+, 4GB DDR2RAM, SAMSUNG SATA HD501LJ 500 GB, SAMSUNG SP2514N 250 GB, HD SV1604N 160GB, HL-DT-STDVD-RAM GSA-H58N, Cablestar2, TTDVB-C + Scart-out + ASUS-SPDIF


    Activy 300
    Software: Gen2VDR V2 + vdr-1.4.7-ext40 + STR + FreeVo (Browser, Games, ... )
    Hardware: 256MB SDRAM, HD SV1604N 160GB, DVD SD-M1612, FSDVB-C + Scart-out, Technisat Cablestar2, leise

  • Nabend


    Wie schaut es denn, mit einem kompletten SVDRP Interface aus?


    Würde, gerne via SVDRP meine Torrents eintragen.


    LG Ronny

  • Zitat

    Original von helau
    Hi,


    Das geht doch !
    Kannst Dir mal das yac_status.sh im yacoto anschauen ...


    Hier nicht so recht. (hat immer gemeckert, irgend etwas mit PROCESS ...)


    Hast Du mal ein Beispiel?


    LG Ronny

  • Zitat

    Original von helau
    svdrpsend.pl PLUG bgprocess PROCESS <name> <$STARTTIME> prozentzahl
    Wobei starttime der Identifier fuer jeden weiteren Call ist.


    Morgen


    Mercy, nun gehts. (die README schweigt sich ja da ein wenig aus ...)


    LG Ronny

  • Moin!


    Hab die Patches mal ein wenig modernisiert, da sind noch zwei kleine Fehler im Plugin:
    http://www.vdr-wiki.de/wiki/in…/Bgprocess-plugin#Patches
    Ich benutze es nicht, die Patches sind nur Compiler-geprüft. Denn der hat Fehler geschmissen, die relativ offensichtlich zu lösen sind.


    Lars.

  • Hat eigentlich schonmal jemand darüber nachgedacht, das bgprocess-Plugin zu forken? Jemand einen Vorschlag für einen schönen Namen, dass es nicht zu Verwechselungen kommt?


    Mir steht z.B. der Sinn danach, die VDR-Funktion zum "Verzögern" vom Shutdown hier mit reinzuwursten, dass der VDR, ganz ohne externes Gefummel, solange nicht runterfährt, solange noch mindestens ein via bgprocess angemeldetes Programm nicht sein Ende gemeldet hat.

  • Moin!


    Dafür musst du nur im Plugin in der von cPlugin abgeleiteten Klasse die Methode

    Code
    virtual cString Active(void);


    überladen und bei Bedarf einen nicht leeren String zurückgeben.
    Dann fährt der vdr nur nach Bestätigung herunter.


    Lars.

  • Danke für den Tipp. Spart mir schonmal das Suchen.


    Das Programmieren ist aber eigentlich nichtmal das große Problem, sondern eher die Frage, ob man das Plugin mal komplett überarbeiten sollte (z.B. gettext integrieren, die diversen Patches direkt einbauen) und unter neuem Namen dann irgendwo unter Versionskontrolle stellen.


    Dafür müsste aber zu allererst mal ein neuer Name her...

  • Das Plugin wird viel zu wenig benutzt. Es fehlt IMHO auch ne Option um aus dem Plugin laufende Task abzubrechen.


    Wie wäre es ganz simpel mit "progressbar" plugin?


    cu

  • Gerade für Scripting wäre das Plugin, wenn es das Shutdown verhindert und auch anständige Meldungen für den User generiert, durchaus interessant.


    Bisher ist es nämlich für den "Script-Programmierer" immer mit etwas Aufwand verbunden, wenn er das Shutdown für länger laufende Scripte verhindern will. Bei optimiertem bgprocess-Plugin müsste ein Script sich nur via SVDRP beim VDR anmelden und könnte auf gleichem Wege sogar Feedback zum Fortschritt geben.


    Fehlende Abbruchmöglichkeit ist aber durchaus ein Thema, das man mit auf die TODO-Liste bauen sollte. Direkt aus dem OSD ein Signal zum Beenden senden ist sicher nicht verkehrt. Eventuell gar zwei Auswahlmöglichkeiten um wahlweise "SIGKILL" oder "SIGTERM" senden zu können. Oder mitzählen wie oft "SIGKILL" versucht wurde. Beim dritten mal dann direkt SIGTERM. Rein technisch ist das kein Problem. Bisher melden sich Plugins mit beliebigen Zahlen an (soweit ich weiß irgendein Zeitstempel). Das neue Plugin will dann an der Stelle einfach stattdessen die PID des Scripts und schon weiß man was man killen muss.


    Soweit mir bekannt wird das Plugin von Reel intern gepflegt. Da Reel es aber für die eigenen Bedürfnisse entwickelt hat, wird man um einen Fork nicht herumkommen, wenn man das Plugin ändern will.

  • Moin!


    Ich brauche das Plugin gar nicht, ich bin nur gestern durch ein paar Buildlogs unserer PPAs gewandert und hab den Fehler bei diesem Plugin gesehen und konnte ihn beheben. :)


    Ein SIGKILL/SIGTERM kann der vdr nicht senden, weil er die Prozess-Id gar nicht hat.
    Das Hintergrundprogramm meldet sich ja regelmäßig beim vdr (eine Art Push-Notification), der vdr könnte dann höchsten mit einem anderen Replycode dem Prozess mitteilen, dass er gerne herunterfahren möchte.
    Dann muss das andere Programm darauf reagieren.


    Lars.

  • Fehlende Abbruchmöglichkeit ist aber durchaus ein Thema, das man mit auf die TODO-Liste bauen sollte. Direkt aus dem OSD ein Signal zum Beenden senden ist sicher nicht verkehrt. Eventuell gar zwei Auswahlmöglichkeiten um wahlweise "SIGKILL" oder "SIGTERM" senden zu können. Oder mitzählen wie oft "SIGKILL" versucht wurde. Beim dritten mal dann direkt SIGTERM. Rein technisch ist das kein Problem. Bisher melden sich Plugins mit beliebigen Zahlen an (soweit ich weiß irgendein Zeitstempel). Das neue Plugin will dann an der Stelle einfach stattdessen die PID des Scripts und schon weiß man was man killen muss.


    Oder so, ich dachte eigentlich eher an eine sanfte Methode: Wählt der Nutzer für nen Task "abbrechen"merkt sich bgprocess das und gibts die Info "Task abgebrochen" das nächste mal (wenn de Task den Status aktualisiert) aus.


    cu


  • Ein SIGKILL/SIGTERM kann der vdr nicht senden, weil er die Prozess-Id gar nicht hat.


    Aus http://vdr-wiki.de/wiki/index.php/Bgprocess-plugin

    Zitat


    Syntax wie folgt.


    <NAME> <STARTTIME> <PROZENTZAHL> <BESCHREIBUNG>


    STARTTIME = Identifier, für jeden weiteren Aufruf


    Tausche "STARTTIME" durch "PID" und wir haben was wir brauchen. Ist auch ein eindeutiger Identifier und bei jedem weiteren Aufruf gleich.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!