/// <summary>
 /// Create a new instance of the <see cref="WordExtractorPlugin"/> class.
 /// </summary>
 public WordExtractorPlugin()
 {
     mutex         = new Mutex();
     settings      = PluginSettings.Instance();
     name          = "CrawlWave.ServerPlugins.WordExtraction";
     description   = "CrawlWave Word Extraction Plugin";
     dataDependent = false;
     state         = PluginState.Stopped;
     enabled       = true;
     version       = Assembly.GetExecutingAssembly().GetName().Version.ToString();
     percent       = 0;
     mustStop      = false;
     pluginThread  = null;
     if (settings.UseDatabase)
     {
         dbProvider = DBConnectionStringProvider.Instance();
         settings.DBConnectionString = dbProvider.ProvideDBConnectionString(name);
         dbcon = new SqlConnection(settings.DBConnectionString);
     }
     wordExtractor = WordExtractor.Instance();
     cache         = WordsCache.Instance();
     backoff       = new Backoff(BackoffSpeed.Slow, 30000);
 }