I have some questions regarding how VisualCron handles database connections. Specifically, does it use connection pooling -
- and if so, how can one adjust (or at least see) the pooling parameters?
- and if not, does it always close the DB connection immediately when a DB task is completed?
- regardless, does it always release (or close) the connection when a DB task *fails*?
- if connections are pooled, are the connections shared between different jobs? Between different tasks in the same job? Between different runs of the same task? Between all tasks/jobs with the same login credentials?
Background:
Lately, there have been some issues with one of our Perl scripts hanging/taking too long executing DB queries, and our DB admin noticed this VisualCron job of mine that I recently added and wants to know if it could in any way be contributing to the problem. I don't think so (it accesses the same DB but not the same tables, and the tables I'm accessing are not very big and the queries are not complicated), but I thought I would investigate.
The only way I thought my job could conceivably be causing problems is if it's generating a bunch of connections and not closing them, and if somehow the overhead of all those open DB connections could be causing a problem. My job contains 7 DB tasks, all with the same login credentials (as well as 6 non-DB tasks), and the job is scheduled to run once every 5 minutes. As I say, I don't think this is causing the problem that is currently being seen, but I thought I would ask.
Thanks,
Rebeccah