Merge branch 'master' of github.com:flamingcowtv/cosmopolite

This commit is contained in:
Ian Gulliver
2015-05-31 16:48:07 -07:00
3 changed files with 8 additions and 2 deletions

View File

@@ -16,6 +16,7 @@
import json
import hashlib
import logging
import random
import struct
from google.appengine.api import channel
@@ -223,6 +224,7 @@ class Subject(db.Model):
sender=sender,
sender_message_id=sender_message_id,
sender_address=sender_address,
random_value=random.randint(0, 2 ** 32 - 1),
id_=message_id)
obj.put()
@@ -434,6 +436,7 @@ class Message(db.Model):
sender_address = db.StringProperty(required=True)
# id is reserved
id_ = db.IntegerProperty(required=True)
random_value = db.IntegerProperty(required=True)
def ToEvent(self):
return {
@@ -443,6 +446,7 @@ class Message(db.Model):
'subject': self.parent().ToDict(),
'created': self.created,
'sender_message_id': self.sender_message_id,
'random_value': self.random_value,
'message': self.message,
}

View File

@@ -15,6 +15,7 @@
import datetime
import functools
import json
import logging
import random
import time
@@ -49,6 +50,7 @@ def chaos_monkey(handler):
@functools.wraps(handler)
def IntroduceFailures(self):
if random.random() < config.CHAOS_PROBABILITY:
logging.info('Chaos: returning pre-processing 503')
self.response.headers['Retry-After'] = '0'
self.error(503)
return
@@ -56,6 +58,7 @@ def chaos_monkey(handler):
ret = handler(self)
if random.random() < config.CHAOS_PROBABILITY:
logging.info('Chaos: returning post-processing 503')
self.response.headers['Retry-After'] = '0'
self.error(503)
return
@@ -69,7 +72,6 @@ def local_namespace(handler):
@functools.wraps(handler)
def SetNamespace(self):
import logging
namespace_manager.set_namespace(config.NAMESPACE)
return handler(self)

View File

@@ -929,7 +929,6 @@ Cosmopolite.prototype.sendRPCs_ = function(commands, opt_delay) {
}
var xhr = new XMLHttpRequest();
xhr.responseType = 'json';
var retryAfterDelay = (function(newCommands) {
// Exponential backoff + random stagger values
@@ -957,6 +956,7 @@ Cosmopolite.prototype.sendRPCs_ = function(commands, opt_delay) {
'load', this.onRPCResponse_.bind(this, xhr, retryAfterDelay, commands));
xhr.addEventListener('error', retryAfterDelay.bind(null, commands));
xhr.open('POST', this.urlPrefix_ + '/api');
xhr.responseType = 'json';
xhr.send(JSON.stringify(request));
};