If an exception makes it to the top of a JobEngine request, catch and log instead of letting it terminate the simulator...

ghosts
Justin Clark-Casey (justincc) 2014-10-14 20:42:41 +01:00
parent 493a86dfed
commit a54c784b81
1 changed files with 10 additions and 1 deletions

View File

@ -246,7 +246,16 @@ namespace OpenSim.Framework.Monitoring
if (LogLevel >= 1) if (LogLevel >= 1)
m_log.DebugFormat("[JOB ENGINE]: Processing job {0}", m_currentJob.Name); m_log.DebugFormat("[JOB ENGINE]: Processing job {0}", m_currentJob.Name);
m_currentJob.Callback.Invoke(m_currentJob.O); try
{
m_currentJob.Callback.Invoke(m_currentJob.O);
}
catch (Exception e)
{
m_log.Error(
string.Format(
"[JOB ENGINE]: Job {0} failed, continuing. Exception ", m_currentJob.Name), e);
}
if (LogLevel >= 1) if (LogLevel >= 1)
m_log.DebugFormat("[JOB ENGINE]: Processed job {0}", m_currentJob.Name); m_log.DebugFormat("[JOB ENGINE]: Processed job {0}", m_currentJob.Name);