public void Update(string siteName)
{
lock (_executables)
{
if (!_executables.ContainsKey(siteName))
{
_executables[siteName] = new List <Executable>();
}
DisposeSite(siteName);
_executables[siteName] = new List <Executable>();
var findExecutables = _executableFinder.FindExecutables(siteName).ToList();
_logger.DebugFormat("{0} background workers found on {1}", findExecutables.Count(), siteName);
_executables[siteName].AddRange(findExecutables);
foreach (var e in _executables[siteName])
{
var targetPath = Path.Combine(_executablePath, siteName);
_logger.DebugFormat("Executing background worker at {0} for {1}", _executablePath, siteName);
e.Copy(targetPath);
e.Execute();
_logger.DebugFormat("Worker Executed at {0}", targetPath);
}
}
}