Track successful PuSH deliveries
This commit is contained in:
		
							parent
							
								
									ff21ff1489
								
							
						
					
					
						commit
						4a2347da41
					
				| @ -5,6 +5,7 @@ | |||||||
|       %th Callback URL |       %th Callback URL | ||||||
|       %th Confirmed |       %th Confirmed | ||||||
|       %th Expires in |       %th Expires in | ||||||
|  |       %th Last delivery | ||||||
|   %tbody |   %tbody | ||||||
|     - @subscriptions.each do |subscription| |     - @subscriptions.each do |subscription| | ||||||
|       %tr |       %tr | ||||||
| @ -16,5 +17,10 @@ | |||||||
|           - if subscription.confirmed? |           - if subscription.confirmed? | ||||||
|             %i.fa.fa-check |             %i.fa.fa-check | ||||||
|         %td= distance_of_time_in_words(Time.now, subscription.expires_at) |         %td= distance_of_time_in_words(Time.now, subscription.expires_at) | ||||||
|  |         %td | ||||||
|  |           - if subscription.last_successful_delivery_at.nil? | ||||||
|  |             %i.fa.fa-times | ||||||
|  |           - else | ||||||
|  |             = l subscription.last_successful_delivery_at | ||||||
| 
 | 
 | ||||||
| = will_paginate @subscriptions, pagination_options | = will_paginate @subscriptions, pagination_options | ||||||
|  | |||||||
| @ -19,6 +19,8 @@ class Pubsubhubbub::DeliveryWorker | |||||||
|                    .post(subscription.callback_url, body: payload) |                    .post(subscription.callback_url, body: payload) | ||||||
| 
 | 
 | ||||||
|     raise "Delivery failed for #{subscription.callback_url}: HTTP #{response.code}" unless response.code > 199 && response.code < 300 |     raise "Delivery failed for #{subscription.callback_url}: HTTP #{response.code}" unless response.code > 199 && response.code < 300 | ||||||
|  | 
 | ||||||
|  |     subscription.touch(:last_successful_delivery_at) | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|   private |   private | ||||||
|  | |||||||
| @ -0,0 +1,5 @@ | |||||||
|  | class AddLastSuccessfulDeliveryAtToSubscriptions < ActiveRecord::Migration[5.0] | ||||||
|  |   def change | ||||||
|  |     add_column :subscriptions, :last_successful_delivery_at, :datetime, null: true, default: nil | ||||||
|  |   end | ||||||
|  | end | ||||||
| @ -10,7 +10,7 @@ | |||||||
| # | # | ||||||
| # It's strongly recommended that you check this file into your version control system. | # It's strongly recommended that you check this file into your version control system. | ||||||
| 
 | 
 | ||||||
| ActiveRecord::Schema.define(version: 20161128103007) do | ActiveRecord::Schema.define(version: 20161130142058) do | ||||||
| 
 | 
 | ||||||
|   # These are extensions that must be enabled in order to support this database |   # These are extensions that must be enabled in order to support this database | ||||||
|   enable_extension "plpgsql" |   enable_extension "plpgsql" | ||||||
| @ -206,6 +206,7 @@ ActiveRecord::Schema.define(version: 20161128103007) do | |||||||
|     t.integer  "account_id",                                  null: false |     t.integer  "account_id",                                  null: false | ||||||
|     t.datetime "created_at",                                  null: false |     t.datetime "created_at",                                  null: false | ||||||
|     t.datetime "updated_at",                                  null: false |     t.datetime "updated_at",                                  null: false | ||||||
|  |     t.datetime "last_successful_delivery_at" | ||||||
|     t.index ["callback_url", "account_id"], name: "index_subscriptions_on_callback_url_and_account_id", unique: true, using: :btree |     t.index ["callback_url", "account_id"], name: "index_subscriptions_on_callback_url_and_account_id", unique: true, using: :btree | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user