-
Notifications
You must be signed in to change notification settings - Fork 38
run Gratipay 247 #1010
Comments
Rebuilding a VM to run payday on |
Ok, all setup with a working Gratipay. I transferred all the logs and backups from the old server. |
I'll run payday a bit later. |
|
I've never ran a payday without SSL warnings :) UNTIL NOW |
|
|
I can postback! |
|
Escrow Shuffle
Gonna wait until next week |
Paydays is done! |
Updated |
I'm not seeing that I received an email notification this week. Investigating ... |
Not in spam. |
I'm finding log messages in the SQS queue. I'm going to see about downloading those ... |
Here's the script I used. I created temporary credentials for my user account in IAM and set those as the default in
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from __future__ import absolute_import, division, print_function, unicode_literals
import json
import sys
import boto3
sqs = boto3.resource('sqs')
queue = sqs.Queue('https://sqs.us-west-2.amazonaws.com/482083521290/email-status-notifications')
nempty = 0
while nempty < 10:
nprocessed = 0
for message in queue.receive_messages():
try:
msg = json.loads(message.body)
body = message.body.encode('utf8')
except:
import pdb; pdb.set_trace()
open('email_status_queue/{}.json'.format(msg['MessageId']), 'w+').write(body)
message.delete()
sys.stdout.write('.')
sys.stdout.flush()
nprocessed = 1
if nprocessed == 0:
nempty += 1 |
127 messages. |
Four bounces. |
(But that's not what we're looking for here.) |
Counts:
|
All of todays are connect notifications. There are no payday notifications. |
Alright. So do we have SES API call failures in Papertrail? |
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from __future__ import absolute_import, division, print_function, unicode_literals
import json
import os
from collections import defaultdict
base = 'email_status_queue'
by_date = defaultdict(list)
for filename in os.listdir(base):
if not filename.endswith('.json'):
continue
msg = json.load(open(os.path.join(base, filename)))
msg = json.loads(msg['Message'])
mail = msg['mail']
if msg['notificationType'] != 'Delivery':
print(mail['timestamp'], msg['notificationType'], mail['destination'])
date = mail['timestamp'][:10]
by_date[date].append(msg)
print()
print('-'*78)
print()
groups = list(sorted(by_date.items()))
for date, messages in groups:
print(date, len(messages))
for date, messages in sorted(by_date.items()):
print()
print(date, '-'*67)
print()
for msg in messages:
subject = msg['mail']['commonHeaders']['subject']
print(date, subject.encode('utf8')) |
Oh! Also, payday was yesterday (2017-02-23), not today. |
Did we deploy ... gratipay/gratipay.com#4170? No. |
Nothing for |
Let's check payday logs ... |
https://github.com/gratipay/logs/blob/master/payday/gratipay-247.log#L120 |
Looks like that's the expected output. |
Here's the code. |
Are the messages still in the queue? |
Sure would be nice to have a timestamp in that table. :-/ |
Alright, so immediate fix is supposedly to flush the queue. What's the root cause? |
I guess that means the dequeue thread isn't running? Or is missing these? |
Was there an exception on the thread? |
Would that make it into Sentry? |
Yes! And, yes! |
A bug in the Spanish translation, it looks like? |
Ping @sseerrggii. Turns out that a bug lurking for the past two years in the Spanish translation of Gratipay caused billing notifications to fail today (details above on this ticket). I've updated "{0} y {1}" to "{0} y otro." If that's not correct please update in Transifex and let me know so I can redeploy. Thanks! :-) |
#972 (comment) ... |
Alright, they were all duds (either removed or never verified or account closed). Okay! 💃 |
Ok @whit537 It seems fine to me :) |
← Payday 246
Docs
http://inside.gratipay.com/howto/run-payday
Checklist
Rotation
The text was updated successfully, but these errors were encountered: