Railo Tasks viewer extension - version 1.2.6

Just a quick post this time, about my newest Railo extension!

The Tasks Viewer extension shows all registered Scheduled tasks on the Railo server, ordered by web context. The detail page will show you all matching log entries (from scheduler.log), and shows a graph of Missed/Succesfull/Errored executions.

This graph is created by looking at the available log data. Logs are deleted when they have grown to 1 MB, so there might be times when you have very little info, and times when you have a lot. That is out of my control unfortunately.

Another feature is the Alert Service, which periodically sends you an email if any tasks threw an error, or were not executed at all.

Compatibility

There are some big changes on the way for the scheduled tasks in Railo Server. Probably, this extension will not be needed anymore when a new Railo version (4.0 or later) is coming out. But untill then... enjoy :)

Installation

Just go to your Railo Server Administrator, click on Extension > Applications, and install the Tasks Viewer.

After installation, see the Plugins section of the Administrator menu.

Screenshots

Tasks viewer Overview page

Tasks viewer Detail page

Tasks viewer Alert Service

Change log

1.1.0: added the Alert Service
1.1.1: fixed a bug in the interval calculation
1.1.2: if a task reached it's enddate, but was manually executed afterwards, an error occured. Also added pan/zoom options to the chart.
1.1.3 and 1.1.4: code bugs
1.1.5: fixed a bug with incorrect permissions on directory and file creating
1.2.0: Alerter service can now be disabled; manually run the Alerter Service; changed layout of the Alerter email; other small changes
1.2.1 and 1.2.2: small bug fixes
1.2.3: bug "column [HASH] not found in query" on earlier Railo versions fixed
1.2.4: fixed a bug in calculating log start date (some log files have multiple header lines)
1.2.5: fixed bug "column [autoDelete] does not exist"
1.2.6.2: added option of defining error texts to ignore (so the Alerter service won't bug you with "Read timed out" etc.)  
del.icio.us Digg StumbleUpon Facebook Technorati Fav reddit Google Bookmarks
| Viewed 7320 times
  1. Sebastiaan

    #1 by Sebastiaan - March 18, 2012 at 11:13 AM

    Kewl ;-)
    Btw, what do u use 4 graphing?
  2. Paul Klinkenberg

    #2 by Paul Klinkenberg - March 18, 2012 at 1:17 PM

    Hi Sebastiaan, I used flot: http://code.google.com/p/flot/
    It is easy, fast, client-side, and has all the options I needed. JqPlot is also a cool one, but it has problems when it comes to tooltips.
  3. Sergii

    #3 by Sergii - March 20, 2012 at 3:37 PM

    Paul, this is good plugin. Thanks.

    Found a bug though. When installed on Ubuntu instance tasks-view directory has permissions 666 which makes it not writeable, for example when saving alerterservice.cfm. Should be 755 or something like that. Also alerterservice.cfm itself is has +x permission which is useless, should be 644.

    -sg
  4. Paul Klinkenberg

    #4 by Paul Klinkenberg - March 20, 2012 at 11:04 PM

    Hi Sergil, thanks for the feedback! I accidentally switched the 2 modes :-/ I fixed that now, can you try again?
    Thanks again, Paul
  5. Sergii

    #5 by Sergii - March 20, 2012 at 11:21 PM

    Seems to be fine. Thanks.
  6. Sergii

    #6 by Sergii - March 20, 2012 at 11:27 PM

    Oh, looks like there's another problem. I cannot disable Alert Service. Entering blank email throws an error.

    Of course I can delete the "Tasks-viewer Alerter Service" scheduled task and even alerterservice.cfm, but email and password stay on the form.

    It would be nice to have Disable button.

    Also, on the overview page each context name could be link to the corresponding "Services - Scheduled tasks" page.

    Thanks.
  7. Paul Klinkenberg

    #7 by Paul Klinkenberg - March 27, 2012 at 10:32 PM

    Hi all,

    A new version is out!
    Release notes for version 1.2.1: Alerter service can now be disabled; manually run the Alerter Service; changed layout of the Alerter email; other small changes.
    Have fun :-)
  8. Azadi

    #8 by Azadi - April 11, 2012 at 4:11 AM

    Is this extension not compatible with Railo 3.2.3.000 final?

    The plugin installed fine, but accessing Task Viewer throws an error:
    "column [HASH] not found in query, columns are [path,id,label,hasOwnSecContext,url,config_file]"
    which points to line 89 in Action.cfc, and has to do with getWebContexts() method in same cfc (line 50).

    Thanks.
  9. Paul Klinkenberg

    #9 by Paul Klinkenberg - April 11, 2012 at 9:40 PM

    Hi Azadi, thanks for letting me know!
    I released an updated version, 1.2.3. Could you let me know if this one works for you?
    Thanks, Paul
  10. Azadi

    #10 by Azadi - April 12, 2012 at 3:44 AM

    Awesome, Paul! Works like a charm now!
  11. kev

    #11 by kev - April 16, 2012 at 10:51 PM

    Hi Paul, You do great work. Just a question though, upon trying to run tasks viewer, I get the following error: invalid component definition, can't find railo_plugin_directory.Tasks-viewer.Action. The Error Occurred in
    ra:///opt/railo/tomcat/webapps/ROOT/WEB-INF/railo/context/railo-context.ra!/admin/plugin.cfm: line 21
    called fromra:///opt/railo/tomcat/webapps/ROOT/WEB-INF/railo/context/railo-context.ra!/admin/web.cfm: line 306
    called fromra:///opt/railo/tomcat/webapps/ROOT/WEB-INF/railo/context/railo-context.ra!/admin/server.cfm: line 2.

    Any help is greatly appreciated :)
  12. Paul Klinkenberg

    #12 by Paul Klinkenberg - May 16, 2012 at 10:48 PM

    Hi Kev,

    Sorry for not answering you! The notice mail got lost somewhere :-/
    You probably already noticed that a restart of Railo fixes your issue.
    It has to do with a caching problem in Railo, which should be already solved by now.
    Thanks for the compliment :)

    Paul
  13. Paul Klinkenberg

    #13 by Paul Klinkenberg - October 1, 2012 at 3:00 PM

    Hi all, I just released version 1.2.6. I added the option of defining error texts to ignore (so the Alerter service won't bug you with mails about "Read timed out" etc.)
(will not be published)
Leave this field empty