File tree Expand file tree Collapse file tree 4 files changed +28
-2
lines changed
Expand file tree Collapse file tree 4 files changed +28
-2
lines changed Original file line number Diff line number Diff line change @@ -29,6 +29,7 @@ cd stringer
2929heroku create
3030git push heroku master
3131
32+ heroku config:set APP_URL=` heroku apps:info | grep -o ' http[^"]*' `
3233heroku config:set SECRET_TOKEN=` openssl rand -hex 20`
3334
3435heroku run rake db:migrate
Original file line number Diff line number Diff line change 11require "sinatra/activerecord/rake"
22require "rubygems"
33require "bundler"
4+ require "net/http"
45Bundler . require
56
67require "./app"
8+ require_relative "./app/jobs/fetch_feed_job"
79require_relative "./app/tasks/fetch_feeds"
810require_relative "./app/tasks/change_password"
911require_relative "./app/tasks/remove_old_stories.rb"
@@ -13,6 +15,18 @@ task :fetch_feeds do
1315 FetchFeeds . new ( Feed . all ) . fetch_all
1416end
1517
18+ desc "Lazily fetch all feeds."
19+ task :lazy_fetch do
20+ if ENV [ 'APP_URL' ]
21+ uri = URI ( ENV [ 'APP_URL' ] )
22+ Net ::HTTP . get_response ( uri )
23+ end
24+
25+ FeedRepository . list . each do |feed |
26+ Delayed ::Job . enqueue FetchFeedJob . new ( feed . id )
27+ end
28+ end
29+
1630desc "Fetch single feed"
1731task :fetch_feed , :id do |t , args |
1832 FetchFeed . new ( Feed . find ( args [ :id ] ) ) . fetch
2539
2640desc "Work the delayed_job queue."
2741task :work_jobs do
28- Delayed ::Worker . new ( :min_priority => ENV [ 'MIN_PRIORITY' ] , :max_priority => ENV [ 'MAX_PRIORITY' ] ) . start
42+ Delayed ::Job . delete_all
43+
44+ 3 . times do
45+ Delayed ::Worker . new ( :min_priority => ENV [ 'MIN_PRIORITY' ] ,
46+ :max_priority => ENV [ 'MAX_PRIORITY' ] ) . start
47+ end
2948end
3049
3150desc "Change your password"
Original file line number Diff line number Diff line change 1+ class FetchFeedJob < Struct . new ( :feed_id )
2+ def perform
3+ feed = FeedRepository . fetch ( feed_id )
4+ FetchFeed . new ( feed ) . fetch
5+ end
6+ end
Original file line number Diff line number Diff line change 1- worker_processes 3
1+ worker_processes 1
22timeout 30
33preload_app true
44
You can’t perform that action at this time.
0 commit comments