about summary refs log tree commit diff
path: root/app
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2016-11-30 15:24:57 +0100
committerEugen Rochko <eugen@zeonfederated.com>2016-11-30 15:24:57 +0100
commit4a2347da41278999c0e7441bcd7c5a42a67ba0ee (patch)
treec60a2e860db59ada1b8fd861aaa515b17d10e9ca /app
parentff21ff1489afd6a16d52acc05a71bd58abc401ac (diff)
Track successful PuSH deliveries
Diffstat (limited to 'app')
-rw-r--r--app/views/admin/pubsubhubbub/index.html.haml6
-rw-r--r--app/workers/pubsubhubbub/delivery_worker.rb2
2 files changed, 8 insertions, 0 deletions
diff --git a/app/views/admin/pubsubhubbub/index.html.haml b/app/views/admin/pubsubhubbub/index.html.haml
index bb897eb89..ad8cf5198 100644
--- a/app/views/admin/pubsubhubbub/index.html.haml
+++ b/app/views/admin/pubsubhubbub/index.html.haml
@@ -5,6 +5,7 @@
       %th Callback URL
       %th Confirmed
       %th Expires in
+      %th Last delivery
   %tbody
     - @subscriptions.each do |subscription|
       %tr
@@ -16,5 +17,10 @@
           - if subscription.confirmed?
             %i.fa.fa-check
         %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
diff --git a/app/workers/pubsubhubbub/delivery_worker.rb b/app/workers/pubsubhubbub/delivery_worker.rb
index 6d526c2b1..20c72ce24 100644
--- a/app/workers/pubsubhubbub/delivery_worker.rb
+++ b/app/workers/pubsubhubbub/delivery_worker.rb
@@ -19,6 +19,8 @@ class Pubsubhubbub::DeliveryWorker
                    .post(subscription.callback_url, body: payload)
 
     raise "Delivery failed for #{subscription.callback_url}: HTTP #{response.code}" unless response.code > 199 && response.code < 300
+
+    subscription.touch(:last_successful_delivery_at)
   end
 
   private