clean up code for tracking failing subscriptions
This commit is contained in:
parent
90a7b44383
commit
cf804e6003
3 changed files with 14 additions and 7 deletions
|
@ -77,7 +77,7 @@ class Feed(db.Model):
|
|||
last_pinged = db.Column(db.DateTime)
|
||||
|
||||
last_response = db.Column(db.Text)
|
||||
failure_count = db.Column(db.Integer)
|
||||
failure_count = db.Column(db.Integer, default=0)
|
||||
|
||||
def get_feed_code(self):
|
||||
return self.feed # binascii.hexlify(self.feed.encode())
|
||||
|
@ -116,7 +116,7 @@ class Entry(db.Model):
|
|||
author_name = db.Column(db.String(512))
|
||||
author_url = db.Column(db.String(512))
|
||||
author_photo = db.Column(db.String(512))
|
||||
title = db.Column(db.String(512))
|
||||
title = db.Column(db.Text)
|
||||
content = db.Column(db.Text)
|
||||
content_cleaned = db.Column(db.Text)
|
||||
# other properties
|
||||
|
|
|
@ -63,6 +63,9 @@ def tick():
|
|||
if not feed.last_checked:
|
||||
return True
|
||||
|
||||
if not feed.subscriptions:
|
||||
return False
|
||||
|
||||
if feed.failure_count > 8:
|
||||
update_interval = datetime.timedelta(days=1)
|
||||
elif feed.failure_count > 4:
|
||||
|
@ -127,7 +130,7 @@ def update_feed(feed_id, content=None,
|
|||
except:
|
||||
feed.last_response = 'exception while retrieving: {}'.format(
|
||||
sys.exc_info()[0])
|
||||
feed.failure_count = (feed.failure_count or 0) + 1
|
||||
feed.failure_count += 1
|
||||
return
|
||||
|
||||
if response.status_code // 100 != 2:
|
||||
|
@ -136,7 +139,7 @@ def update_feed(feed_id, content=None,
|
|||
response.text)
|
||||
feed.last_response = 'bad response while retrieving: {}: {}'.format(
|
||||
response, response.text)
|
||||
feed.failure_count = (feed.failure_count or 0) + 1
|
||||
feed.failure_count += 1
|
||||
return
|
||||
|
||||
feed.failure_count = 0
|
||||
|
@ -428,6 +431,7 @@ def process_html_feed_for_new_entries(feed, content, backfill, now):
|
|||
hfeed = parsed.get('entries', [])
|
||||
|
||||
for hentry in hfeed:
|
||||
current_app.logger.debug('building entry: %s', hentry.get('url'))
|
||||
entry = hentry_to_entry(hentry, feed, backfill, now)
|
||||
if entry:
|
||||
current_app.logger.debug('built entry: %s', entry.permalink)
|
||||
|
|
|
@ -25,8 +25,11 @@
|
|||
{% for s in subscriptions %}
|
||||
|
||||
<article>
|
||||
{% if s.feed.failure_count > 0 %}<i class="fa fa-warning"></i> {{ s.feed.failure_count }} Failure(s){% endif %}
|
||||
|
||||
{% if s.feed.failure_count > 0 %}
|
||||
<div>
|
||||
<i class="fa fa-warning"></i> Last {{ s.feed.failure_count }} Attempt(s) Failed
|
||||
</div>
|
||||
{% endif %}
|
||||
<form class="edit-subscription" action="{{ url_for('.edit_subscription') }}" method="POST">
|
||||
<input type="hidden" name="id" value="{{ s.id }}"/>
|
||||
<label>Name</label>
|
||||
|
@ -34,7 +37,7 @@
|
|||
<label>Tags</label>
|
||||
<input type="text" name="tags" value="{{ s.tags or ''}}"/>
|
||||
<label>URL</label>
|
||||
<input type="text" name="feed" value="{{ s.feed.feed }}" disabled />
|
||||
<input type="text" name="feed" value="{{ s.feed.feed }}" readonly />
|
||||
<button type="submit">Save Edits</button> <span class="save-status"></span>
|
||||
</form>
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue