Skip to content
This repository has been archived by the owner on Mar 27, 2021. It is now read-only.

Ragios 0.7 #20

Merged
merged 135 commits into from
Dec 31, 2017
Merged

Ragios 0.7 #20

merged 135 commits into from
Dec 31, 2017

Conversation

obi-a
Copy link
Owner

@obi-a obi-a commented Apr 15, 2017

Goals for version 0.7

  • Upgrades needed to allow Ragios to scale and cut down memory usage
  • break up the app into multiple services running on multiple processes
  • new concurrent and fault tolerant design
  • Use as little dependencies as possible
  • Preferred target system - MRI, Rubinius

Archived the following:

  • Complete re-design of the backend to be modular, memory efficient, distributed, and scalable.
  • Ragios now runs as a set of tiny distributed microservices, communicating with each other via ZeroMQ. The microservices can run on different hosts and different containers.
  • Completely removed ActiveSupport as a dependency
  • Removed Twitter and gmail notifers from being bundled
  • re-wrote amazon SES notifier
  • re-wrote url_monitor plugin to support all http request types, now supports mock requests
  • changed mock notifier to log notifier also re-wrote it
  • added Ragios logger, a uniform internal logging system for Ragios, also includes various log levels based on Ruby logger
  • Adds different modes Production, development and test mode
  • Now distributed with Docker-compose and only dependency required to run Ragios now is docker-compose

To run tests using docker compose:
docker-compose -f docker-compose-test-local.yml run --rm ragios

docker-compose -f docker-compose-test-local.yml run \
  --entrypoint "foreman run -e test.env rspec spec/lib/ --format documentation" \
  --rm  unit_tests

TODO:

  • Prevent memory leaks make sure every celluloid actor/worker/task/thread gets terminated after completion
  • Remove all unnecessary dependencies (part of that is removing active-support dependency)
  • Remove activesupport and external json lib from leanback
  • Move notifiers and plugins to a separate Repo & gem
  • Only built-in notifiers should be loggers
  • likely still include the url_monitor
  • TODO write specs for GenericMonitor#Find
  • Set all time to utc

The command to run individual test files locally

@obi-a obi-a force-pushed the ragios-0.7 branch 4 times, most recently from 8d47bce to 4f881df Compare April 23, 2017 00:58
@obi-a obi-a force-pushed the ragios-0.7 branch 4 times, most recently from 6650c3c to 666a9fb Compare May 3, 2017 01:56
@obi-a obi-a force-pushed the ragios-0.7 branch 3 times, most recently from 5257922 to bb3b53f Compare May 8, 2017 03:27
@obi-a obi-a force-pushed the ragios-0.7 branch 2 times, most recently from 993dc4c to 0027087 Compare June 3, 2017 06:13
@obi-a obi-a force-pushed the ragios-0.7 branch 4 times, most recently from ade9696 to fdf84ee Compare July 10, 2017 02:58
@obi-a obi-a force-pushed the ragios-0.7 branch 3 times, most recently from 6db46eb to fb374be Compare July 16, 2017 18:42
@obi-a obi-a force-pushed the ragios-0.7 branch 2 times, most recently from 556a1de to 58b96f8 Compare July 30, 2017 04:04
@obi-a obi-a force-pushed the ragios-0.7 branch 4 times, most recently from eb026d6 to 1f1bd74 Compare August 18, 2017 05:07
@obi-a obi-a force-pushed the ragios-0.7 branch 3 times, most recently from 6051f5f to 58f0724 Compare October 22, 2017 06:17
LICENSE Outdated
@@ -1,6 +1,6 @@
The MIT License

Copyright (c) 2010 Obi Akubue, obi-akubue.org
Copyright (c) 2010 - 2017 Obi Akubue, obi-akubue.org
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

set to 2018

lib/ragios.rb Outdated
require 'net/http'
require 'net/https'
#require 'net/http'
#require 'net/https'
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove commented out code

class Subscriber < ZMQ::Subscriber

def initialize
@worker_pool = Worker.pool(size: 20)
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do we make pool size configurable?

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add configurable pool size later in a new pull request

@@ -0,0 +1,83 @@
web:
image: "ragios"
links:
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove sample docker-compose file

@obi-a obi-a force-pushed the ragios-0.7 branch 2 times, most recently from 3939aba to 4d17939 Compare November 24, 2017 04:49
- run ragios containers in production env
- remove unnecessary rake tasks
- set license to 2018
- allow 10 retries to connect to Database
- remove sample docker-compose file
- get amazon ses notifier working on containers
Copy link
Owner Author

@obi-a obi-a left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

delete log folder since this version no longer writes to logfiles. delete tweet messages erb files

@obi-a obi-a force-pushed the ragios-0.7 branch 3 times, most recently from 272f891 to 84bcb6e Compare November 25, 2017 18:40
@obi-a obi-a merged commit 9b8bea8 into master Dec 31, 2017
@obi-a obi-a deleted the ragios-0.7 branch February 10, 2018 04:18
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant