diff --git a/Gemfile.lock b/Gemfile.lock index 2d6cbfa2..ec422f04 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -79,7 +79,7 @@ GEM execjs coffee-script-source (1.12.2) concurrent-ruby (1.0.5) - connection_pool (2.2.1) + connection_pool (2.2.2) crack (0.4.3) safe_yaml (~> 1.0.0) crass (1.0.4) @@ -186,9 +186,9 @@ GEM pry (>= 0.10.4) public_suffix (3.0.0) puma (3.8.2) - rack (2.0.1) + rack (2.0.5) rack-cors (0.4.1) - rack-protection (2.0.0) + rack-protection (2.0.3) rack rack-test (0.6.3) rack (>= 1.0) @@ -226,7 +226,7 @@ GEM rb-fsevent (0.9.8) rb-inotify (0.9.8) ffi (>= 0.5.0) - redis (3.3.3) + redis (3.3.5) responders (2.3.0) railties (>= 4.2.0, < 5.1) rubocop (0.55.0) @@ -248,11 +248,10 @@ GEM ruby_http_client (~> 3.0.1) sentry-raven (2.5.3) faraday (>= 0.7.6, < 1.0) - sidekiq (4.2.10) - concurrent-ruby (~> 1.0) - connection_pool (~> 2.2, >= 2.2.0) + sidekiq (5.2.1) + connection_pool (~> 2.2, >= 2.2.2) rack-protection (>= 1.5.0) - redis (~> 3.2, >= 3.2.1) + redis (>= 3.3.5, < 5) skylight (1.5.0) activesupport (>= 3.0.0) spring (2.0.1) diff --git a/Makefile b/Makefile index b9f79c8c..6daeeb03 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,25 @@ RAILS_CONTAINER := web +DOCKER := docker .PHONY: all -all: run +all: run + + +.PHONY: nuke +nuke: + ${DOCKER} system prune -a --volumes + +.PHONY: rmi +rmi: + ${DOCKER} images -q | xargs docker rmi -f + +.PHONY: rmdi +rmdi: + ${DOCKER} images -a --filter=dangling=true -q | xargs ${DOCKER} rmi + +.PHONY: rm-exited-containers +rm-exited-containers: + ${DOCKER} ps -a -q -f status=exited | xargs ${DOCKER} rm -v .PHONY: console-sandbox console-sandbox: diff --git a/app/jobs/send_email_to_leaders_job.rb b/app/jobs/send_email_to_leaders_job.rb index df581fa5..b7c352e2 100644 --- a/app/jobs/send_email_to_leaders_job.rb +++ b/app/jobs/send_email_to_leaders_job.rb @@ -1,11 +1,7 @@ class SendEmailToLeadersJob < ActiveJob::Base queue_as :default - def perform(user_id) - user = User.find(user_id) - - User.community_leaders_nearby(user.latitude, user.longitude, 50).each do |leader| - UserMailer.new_user_in_leader_area(leader, user) - end + def perform(_user_id) + logger.debug 'Deprecated pathway, trying to determine what is placing this on queue.' end end diff --git a/app/jobs/slack_jobs/inviter_job.rb b/app/jobs/slack_jobs/inviter_job.rb index 95a0ab0f..92d07990 100644 --- a/app/jobs/slack_jobs/inviter_job.rb +++ b/app/jobs/slack_jobs/inviter_job.rb @@ -1,8 +1,7 @@ class SlackJobs class InviterJob < SlackJobs - def perform(email) - # Invites user to general channel - slack_client.invite(email: email, channels: ['C03GSNF77']) + def perform(_email) + logger.debug 'Deprecated pathway, trying to determine what is placing this on queue.' end end end diff --git a/app/jobs/slack_jobs/notifier_job.rb b/app/jobs/slack_jobs/notifier_job.rb index 24e0e2c4..f36e047f 100644 --- a/app/jobs/slack_jobs/notifier_job.rb +++ b/app/jobs/slack_jobs/notifier_job.rb @@ -2,9 +2,8 @@ class SlackJobs class SlackNotifierJob < SlackJobs queue_as :default - def perform(message, channel: '#general') - res = slack_client.post_message_to channel: channel, with_text: message - Rails.logger.debug("Notified channel: #{res.inspect}") + def perform(_message, *) + logger.debug 'Deprecated pathway, trying to determine what is placing this on queue.' end end end diff --git a/config/initializers/sidekiq.rb b/config/initializers/sidekiq.rb index 443b0f99..937538b0 100644 --- a/config/initializers/sidekiq.rb +++ b/config/initializers/sidekiq.rb @@ -1,13 +1,13 @@ require 'sidekiq' -# Setting the ENV['DATABASE_URL'] explicitly to allow for use of a -# dynamic database host variable ENV['POSTGRES_HOST'] -# -# @see https://github.com/mperham/sidekiq/wiki/Advanced-Options#rails-32-and-newer -# Sidekiq.configure_server do |config| - ENV['DATABASE_URL'] = ENV['POSTGRES_HOST'].present? ? ENV['POSTGRES_HOST'] : 'operationcode-psql' - + # https://stackoverflow.com/questions/28412913/disable-automatic-retry-with-activejob-used-with-sidekiq + # prevent excessive retries from some default status. + config.death_handlers << lambda { |job, e| + # thanks rob for the nice message + evt = Raven::Event.new(message: "#{job['class']} #{job['jid']} done run outta tries.") + Raven.send_event(evt) + } Rails.logger = Sidekiq::Logging.logger ActiveRecord::Base.logger = Sidekiq::Logging.logger end diff --git a/test/jobs/send_email_to_leaders_job_test.rb b/test/jobs/send_email_to_leaders_job_test.rb deleted file mode 100644 index 17e6892f..00000000 --- a/test/jobs/send_email_to_leaders_job_test.rb +++ /dev/null @@ -1,13 +0,0 @@ -require 'test_helper' - -class SendEmailToLeadersJobTest < ActiveJob::TestCase - test 'send email to leaders if someone signs up within X miles' do - User.any_instance.stubs(:geocode) - user = create(:user, email: 'static@email.com', latitude: 40.7, longitude: -73.8) - leader_user = create(:user, latitude: 40.7001, longitude: -73.8001) - leader_user.tag_list.add(User::LEADER) - leader_user.save - UserMailer.expects(:new_user_in_leader_area).with(leader_user, user) - SendEmailToLeadersJob.perform_now(user.id) - end -end diff --git a/test/models/user_test.rb b/test/models/user_test.rb index e044d631..b97a22e9 100644 --- a/test/models/user_test.rb +++ b/test/models/user_test.rb @@ -185,21 +185,6 @@ def user_opts refute '@example.com' =~ User::VALID_EMAIL end - test '.community_leaders_nearby returns leaders within a radius from a lat/long' do - User.any_instance.stubs(:geocode) - tom = create :user, latitude: 1, longitude: 1 - tom.tag_list.add(User::LEADER) - tom.save! - far_away_leader = create :user, latitude: 20, longitude: 20 - far_away_leader.tag_list.add(User::LEADER) - far_away_leader.save! - not_a_leader = create :user, latitude: 1, longitude: 1 - results = User.community_leaders_nearby(1, 1, 10) - assert_includes results, tom - assert_not_includes results, far_away_leader - assert_not_includes results, not_a_leader - end - test '.fetch_social_user_and_redirect_path returns the user and redirect path in an array' do data = { first_name: 'Sterling', last_name: 'Archer', email: 'cyril@kickme.org', zip: '12345', password: 'VoiceMail' } results = User.fetch_social_user_and_redirect_path(data)