Open GoogleCodeExporter opened 9 years ago
After some investigation, this appears to occur when there are 10 running
tasks. Our current theory is that Quartz has a maximum of 10 running threads,
so when you try trigger something to run immediately after this max is reached,
nothing shows up in the GUI as it isn't actually running. If you then try add
it again you get the above exception as Quartz has actually stored it to start
running as soon as it has a worker thread available.
We should:
- Check if we can get the status of the scheduled job - i.e. is it running now
or was the pool full? We could then return some info to the user to explain
this.
- When we try schedule something (now or later) if we could detect that there
are no worker threads available we could warn the user.
- We should make the size of this worker thread pool configurable. According to
the Quartz documentation this can be done by putting a quartz.properties file
on the classpath. We'd prefer to do it using Spring and citrine.properties if
possible.
* Ideally the thread pool wouldn't have a hard, fixed-size limit but would be
dynamic, but this might require code changes inside Quartz.
Original comment by massdosage
on 20 Sep 2010 at 5:23
Size of thread pool is now configurable by putting all quartz properties in
citrine.properties and telling Quartz to use this for its config.
Haven't yet solved figuring out logging if something can't be scheduled because
pool is full.
Original comment by massdosage
on 21 Sep 2010 at 5:16
Original comment by massdosage
on 21 Sep 2010 at 5:20
Original issue reported on code.google.com by
massdosage
on 15 Sep 2010 at 11:41