Page Menu
Home
GRNET
Search
Configure Global Search
Log In
Files
F5492600
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Tue, Sep 29, 3:06 PM
Size
12 KB
Mime Type
text/x-diff
Expires
Thu, Oct 1, 3:06 PM (7 h, 35 m)
Engine
blob
Format
Raw Data
Handle
458388
Attached To
rWEBDNS WebDNS (edet4)
View Options
diff --git a/.gitignore b/.gitignore
index 6ec616c..4c44023 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,23 +1,22 @@
# See https://help.github.com/articles/ignoring-files for more about ignoring files.
#
# If you find yourself ignoring temporary files generated by your text editor
# or operating system, you probably want to add a global ignore instead:
# git config --global core.excludesfile '~/.gitignore_global'
# Ignore bundler config.
/.bundle
# Ignore the default SQLite database.
/db/*.sqlite3
/db/*.sqlite3-journal
/db/*.local
/db/database.yml
# Ignore all logfiles and tempfiles.
/log/*.log
/tmp
/doc
*.swp
config/database.yml
-config/beanstalk.yml
.ruby-version
diff --git a/Gemfile b/Gemfile
index d70ca5a..ad31862 100644
--- a/Gemfile
+++ b/Gemfile
@@ -1,59 +1,58 @@
source 'https://rubygems.org'
group :development, :test do
gem 'pry-byebug'
end
group :development do
gem 'rubocop', '0.35', require: false
gem 'yard'
gem 'yard-tomdoc'
gem 'guard-yard'
gem 'guard-minitest', require: false
gem 'guard', require: false
gem 'capistrano', '3.2.1', require: false # pkg:capistrano
end
group :production do
gem 'unicorn' # pkg:unicorn
end
group :assets do
gem 'coffee-rails', '4.0.1' # pkg: ryby-coffee-rails
end
# Lock jessie versions
#
gem 'rails', '4.1.8' # pkg:rails
gem 'i18n', '0.6.9'
gem 'json', '1.8.1'
gem 'mail', '2.6.1'
gem 'mime-types', '1.25'
gem 'minitest', '5.4.2'
gem 'rack', '1.5.2'
gem 'rack-test', '0.6.2'
gem 'rake', '10.3.2'
gem 'sprockets', '2.12.3'
gem 'sprockets-rails', '2.1.3'
gem 'thread_safe', '0.3.3'
gem 'tzinfo', '1.1.0'
gem 'mysql2', '0.3.16' # pkg:ruby-mysql2
gem 'jquery-rails', '3.1.2' # pkg:ruby-jquery-rails
-gem 'beaneater', '1.0.0' # pkg:ruby-beaneater
gem 'state_machine', '1.2.0' # pkg: ruby-state-machine
# Worker
gem 'faraday', '0.9.0'
# Devise & dependencies
gem 'devise', '3.5.2' # pkg:ruby-devise
gem 'warden', '1.2.3'
gem 'bcrypt', '3.1.7'
gem 'orm_adapter', '0.5.0'
gem 'responders', '1.1.2'
group :test do
gem 'factory_girl_rails', '4.4.1'
end
diff --git a/Gemfile.lock b/Gemfile.lock
index 0028c82..d6098ba 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,227 +1,225 @@
GEM
remote: https://rubygems.org/
specs:
actionmailer (4.1.8)
actionpack (= 4.1.8)
actionview (= 4.1.8)
mail (~> 2.5, >= 2.5.4)
actionpack (4.1.8)
actionview (= 4.1.8)
activesupport (= 4.1.8)
rack (~> 1.5.2)
rack-test (~> 0.6.2)
actionview (4.1.8)
activesupport (= 4.1.8)
builder (~> 3.1)
erubis (~> 2.7.0)
activemodel (4.1.8)
activesupport (= 4.1.8)
builder (~> 3.1)
activerecord (4.1.8)
activemodel (= 4.1.8)
activesupport (= 4.1.8)
arel (~> 5.0.0)
activesupport (4.1.8)
i18n (~> 0.6, >= 0.6.9)
json (~> 1.7, >= 1.7.7)
minitest (~> 5.1)
thread_safe (~> 0.1)
tzinfo (~> 1.1)
arel (5.0.1.20140414130214)
ast (2.1.0)
astrolabe (1.3.1)
parser (~> 2.2)
bcrypt (3.1.7)
- beaneater (1.0.0)
builder (3.2.2)
byebug (4.0.5)
columnize (= 0.9.0)
capistrano (3.2.1)
i18n
rake (>= 10.0.0)
sshkit (~> 1.3)
coderay (1.1.0)
coffee-rails (4.0.1)
coffee-script (>= 2.2.0)
railties (>= 4.0.0, < 5.0)
coffee-script (2.4.1)
coffee-script-source
execjs
coffee-script-source (1.9.1.1)
colorize (0.7.7)
columnize (0.9.0)
devise (3.5.2)
bcrypt (~> 3.0)
orm_adapter (~> 0.1)
railties (>= 3.2.6, < 5)
responders
thread_safe (~> 0.1)
warden (~> 1.2.3)
erubis (2.7.0)
execjs (2.6.0)
factory_girl (4.4.0)
activesupport (>= 3.0.0)
factory_girl_rails (4.4.1)
factory_girl (~> 4.4.0)
railties (>= 3.0.0)
faraday (0.9.0)
multipart-post (>= 1.2, < 3)
ffi (1.9.10)
formatador (0.2.5)
guard (2.13.0)
formatador (>= 0.2.4)
listen (>= 2.7, <= 4.0)
lumberjack (~> 1.0)
nenv (~> 0.1)
notiffany (~> 0.0)
pry (>= 0.9.12)
shellany (~> 0.0)
thor (>= 0.18.1)
guard-compat (1.2.1)
guard-minitest (2.4.4)
guard-compat (~> 1.2)
minitest (>= 3.0)
guard-yard (2.1.4)
guard (>= 1.1.0)
yard (>= 0.7.0)
hike (1.2.3)
i18n (0.6.9)
jquery-rails (3.1.2)
railties (>= 3.0, < 5.0)
thor (>= 0.14, < 2.0)
json (1.8.1)
kgio (2.9.3)
listen (3.0.3)
rb-fsevent (>= 0.9.3)
rb-inotify (>= 0.9)
lumberjack (1.0.9)
mail (2.6.1)
mime-types (>= 1.16, < 3)
method_source (0.8.2)
mime-types (1.25)
minitest (5.4.2)
multi_json (1.11.2)
multipart-post (2.0.0)
mysql2 (0.3.16)
nenv (0.2.0)
net-scp (1.2.1)
net-ssh (>= 2.6.5)
net-ssh (2.9.2)
notiffany (0.0.8)
nenv (~> 0.1)
shellany (~> 0.0)
orm_adapter (0.5.0)
parser (2.2.3.0)
ast (>= 1.1, < 3.0)
powerpack (0.1.1)
pry (0.10.1)
coderay (~> 1.1.0)
method_source (~> 0.8.1)
slop (~> 3.4)
pry-byebug (3.1.0)
byebug (~> 4.0)
pry (~> 0.10)
rack (1.5.2)
rack-test (0.6.2)
rack (>= 1.0)
rails (4.1.8)
actionmailer (= 4.1.8)
actionpack (= 4.1.8)
actionview (= 4.1.8)
activemodel (= 4.1.8)
activerecord (= 4.1.8)
activesupport (= 4.1.8)
bundler (>= 1.3.0, < 2.0)
railties (= 4.1.8)
sprockets-rails (~> 2.0)
railties (4.1.8)
actionpack (= 4.1.8)
activesupport (= 4.1.8)
rake (>= 0.8.7)
thor (>= 0.18.1, < 2.0)
rainbow (2.0.0)
raindrops (0.15.0)
rake (10.3.2)
rb-fsevent (0.9.6)
rb-inotify (0.9.5)
ffi (>= 0.5.0)
responders (1.1.2)
railties (>= 3.2, < 4.2)
rubocop (0.35.0)
astrolabe (~> 1.3)
parser (>= 2.2.3.0, < 3.0)
powerpack (~> 0.1)
rainbow (>= 1.99.1, < 3.0)
ruby-progressbar (~> 1.7)
ruby-progressbar (1.7.5)
shellany (0.0.1)
slop (3.6.0)
sprockets (2.12.3)
hike (~> 1.2)
multi_json (~> 1.0)
rack (~> 1.0)
tilt (~> 1.1, != 1.3.0)
sprockets-rails (2.1.3)
actionpack (>= 3.0)
activesupport (>= 3.0)
sprockets (~> 2.8)
sshkit (1.7.1)
colorize (>= 0.7.0)
net-scp (>= 1.1.2)
net-ssh (>= 2.8.0)
state_machine (1.2.0)
thor (0.19.1)
thread_safe (0.3.3)
tilt (1.4.1)
tomparse (0.4.2)
tzinfo (1.1.0)
thread_safe (~> 0.1)
unicorn (4.9.0)
kgio (~> 2.6)
rack
raindrops (~> 0.7)
warden (1.2.3)
rack (>= 1.0)
yard (0.8.7.6)
yard-tomdoc (0.7.1)
tomparse (>= 0.4.0)
yard
PLATFORMS
ruby
DEPENDENCIES
bcrypt (= 3.1.7)
- beaneater (= 1.0.0)
capistrano (= 3.2.1)
coffee-rails (= 4.0.1)
devise (= 3.5.2)
factory_girl_rails (= 4.4.1)
faraday (= 0.9.0)
guard
guard-minitest
guard-yard
i18n (= 0.6.9)
jquery-rails (= 3.1.2)
json (= 1.8.1)
mail (= 2.6.1)
mime-types (= 1.25)
minitest (= 5.4.2)
mysql2 (= 0.3.16)
orm_adapter (= 0.5.0)
pry-byebug
rack (= 1.5.2)
rack-test (= 0.6.2)
rails (= 4.1.8)
rake (= 10.3.2)
responders (= 1.1.2)
rubocop (= 0.35)
sprockets (= 2.12.3)
sprockets-rails (= 2.1.3)
state_machine (= 1.2.0)
thread_safe (= 0.3.3)
tzinfo (= 1.1.0)
unicorn
warden (= 1.2.3)
yard
yard-tomdoc
diff --git a/config/application.rb b/config/application.rb
index 3dff568..a189c06 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -1,47 +1,41 @@
require File.expand_path('../boot', __FILE__)
require 'rails/all'
# Production doesn't use bundler
# you've limited to :test, :development, or :production.
if ENV['RAILS_ENV'] != 'production'
Bundler.require(*Rails.groups)
else
# Dependencies to load before starting rails in production
require 'devise'
require 'jquery-rails'
require 'coffee-rails'
require 'state_machine'
- require 'beaneater'
end
module WebDNS
class Application < Rails::Application
# Settings in config/environments/* take precedence over those specified here.
# Application configuration should go into files in config/initializers
# -- all .rb files in that directory are automatically loaded.
config.time_zone = 'Europe/Athens'
# Store/Read localtime from the database
config.active_record.default_timezone = :local
config.active_record.schema_format = :sql
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
# config.i18n.default_locale = :de
config.autoload_paths << Rails.root.join('lib')
config.x = {}
end
def self.settings
Application.config.x
end
- def self.bean
- @bean ||= Bean::Client.new(
- YAML.load_file(Rails.root.join('config', 'beanstalk.yml'))[Rails.env].symbolize_keys[:host]
- )
- end
end
diff --git a/config/beanstalk.yml.base b/config/beanstalk.yml.base
deleted file mode 100644
index 0800337..0000000
--- a/config/beanstalk.yml.base
+++ /dev/null
@@ -1,5 +0,0 @@
-development:
- host: '127.0.0.1:11300'
-
-test:
- host: '127.0.0.1:11300'
diff --git a/config/initializers/beanstalk.rb b/config/initializers/beanstalk.rb
deleted file mode 100644
index 9a93da5..0000000
--- a/config/initializers/beanstalk.rb
+++ /dev/null
@@ -1,7 +0,0 @@
-Beaneater.configure do |config|
- config.default_put_ttr = 10.minutes
-
- config.job_parser = ->(body) { ActiveSupport::JSON.decode(body).symbolize_keys! }
- config.job_serializer = ->(body) { ActiveSupport::JSON.encode(body) }
-end
-
diff --git a/lib/bean/client.rb b/lib/bean/client.rb
deleted file mode 100644
index 136dd24..0000000
--- a/lib/bean/client.rb
+++ /dev/null
@@ -1,52 +0,0 @@
-module Bean
- class Client
-
- # Initialize a new Bean::Client.
- #
- # host - The host to connect to.
- #
- def initialize(host)
- @host = host
- end
-
- # Put a job in the default beanstalk tube.
- def put(body)
- client.tubes['default'].put(body)
- rescue Beaneater::NotConnected
- reconnect!
- end
-
- # Get a job from the dafault beanstalk tube.
- def reserve(*args)
- client.tubes.reserve(*args)
- end
-
- # Reconnect to the beanstalk server.
- #
- # retries - Number of retries before failing.
- # sleep_time - Time between retries.
- def reconnect!(retries = 3, sleep_time = 0.5)
- client!
- rescue Beaneater::NotConnected => exception
- retries -= 1
- raise exception if retries.zero?
- sleep(sleep_time)
- retry
- end
-
- private
-
- def client
- @client ||= client!
- end
-
- def client!
- @client.close if @client # rescue nil
- @client = connect
- end
-
- def connect
- Beaneater.new(@host)
- end
- end
-end
diff --git a/lib/bean/worker.rb b/lib/bean/worker.rb
deleted file mode 100644
index 41f2c99..0000000
--- a/lib/bean/worker.rb
+++ /dev/null
@@ -1,77 +0,0 @@
-require 'singleton'
-
-module Bean
- class Worker
- include Singleton
-
- TIMEOUT = 5
-
- attr_accessor :job
-
- # Start consuming jobs.
- def self.work
- instance.work
- end
-
- # Start consuming jobs.
- #
- # Handles reconnects.
- def work
- register_signals
- watch
- rescue Beaneater::NotConnected
- WebDNS.bean.reconnect!
- end
-
- # Graceful stop the worker.
- #
- # If no job is running stops immediately.
- def stop
- if job.nil?
- exit
- else
- @stop = true
- end
- end
-
- private
-
- def stop? # rubocop:disable Style/TrivialAccessors
- @stop
- end
-
- def register_signals
- trap('INT') { stop }
- trap('TERM') { stop }
- end
-
- def watch
- loop do
- procline('watching')
- break if stop?
-
- process_job
- end
- rescue Beaneater::TimedOutError
- retry
- end
-
- def process_job
- self.job = WebDNS.bean.reserve(TIMEOUT)
- log_job
-
- job.delete
- ensure
- self.job = nil
- end
-
- def log_job
- procline("working on jobid=#{job.id} #{job.body}")
- Rails.logger.warn(job_id: job.id, job_body: job.body.to_s)
- end
-
- def procline(line)
- $0 = "bean-#{line}"
- end
- end
-end
diff --git a/lib/tasks/bean.rake b/lib/tasks/bean.rake
deleted file mode 100644
index 2829e13..0000000
--- a/lib/tasks/bean.rake
+++ /dev/null
@@ -1,6 +0,0 @@
-namespace :bean do
- desc 'Start beanstalk worker'
- task work: :environment do
- Bean::Worker.work
- end
-end
Event Timeline
Log In to Comment