Commit 2249be1c5288373774efd17543ae2886d7bc12fb

Authored by Rodrigo Souto
1 parent 143be35b

Fixing Spaminator to work in production.

plugins/spaminator/lib/spaminator_plugin/scan.rb 0 → 100644
... ... @@ -0,0 +1,18 @@
  1 +class SpaminatorPlugin::Scan
  2 + def self.run(environment_id)
  3 + environment = Environment.find(environment_id)
  4 + settings = Noosfero::Plugin::Settings.new(environment, SpaminatorPlugin)
  5 + settings.scanning = true
  6 + settings.save!
  7 +
  8 + begin
  9 + SpaminatorPlugin::Spaminator.run(environment)
  10 + rescue Exception => exception
  11 + SpaminatorPlugin::Spaminator.log("Spaminator failed with the following error: \n ==> #{exception}\n#{exception.backtrace.join("\n")}")
  12 + end
  13 +
  14 + settings.scanning = false
  15 + SpaminatorPlugin.schedule_scan(environment) if settings.deployed
  16 + settings.save!
  17 + end
  18 +end
... ...
plugins/spaminator/lib/spaminator_plugin/scan_job.rb
1 1 class SpaminatorPlugin::ScanJob < Struct.new(:environment_id)
2 2 def perform
3   - fork do
4   - environment = Environment.find(environment_id)
5   - settings = Noosfero::Plugin::Settings.new(environment, SpaminatorPlugin)
6   - settings.scanning = true
7   - settings.save!
8   -
9   - begin
10   - SpaminatorPlugin::Spaminator.run(environment)
11   - rescue Exception => exception
12   - SpaminatorPlugin::Spaminator.log("Spaminator failed with the following error: \n ==> #{exception}\n#{exception.backtrace.join("\n")}")
13   - end
14   -
15   - settings.scanning = false
16   - SpaminatorPlugin.schedule_scan(environment) if settings.deployed
17   - settings.save!
18   - end
  3 + fork {system("ruby #{File.join(SpaminatorPlugin.root_path, 'script', 'scan')} #{environment_id}") }
19 4 end
20 5 end
... ...
plugins/spaminator/script/scan 0 → 100755
... ... @@ -0,0 +1,4 @@
  1 +#!/usr/bin/env ruby
  2 +
  3 +require File.dirname(__FILE__) + '/../../../config/environment'
  4 +SpaminatorPlugin::Scan.run(ARGV[0])
... ...