It would be very helpful if JS could provide for additional criteria when deciding that its time to run a report job. Currently, its based on time only.
However, I have numerous report jobs that need to run whenever there is new data in the database. However, the addition of new data is sporadic, not consistent. Currently, my only choice to keep the reports current is to run all the report jobs every night even though 90% of the time there is no change in output. Since these are complicated reports and take significant resources to run, that's not ideal.
It would be perfect if I could:
a) specify a query that returns a single value TRUE if new data is present and FALSE if not
b) schedule the report job to run every night BUT it will only execute if (a) is TRUE
So for example, I would write a query that compared the datetime the report was last fired and the latest modified date attached to the report data.
It would be really cool if the "last fired" value could be exposed in some kind of environment variable, but I could either grab it from the jasper database or create something of my own if I had to.