Пример #1
0
def run():
    print "Starting..."
    vd = vultr_dict()
    usage = usage_portion(vd)
    msg = (
        "used %sGB out of %sGB allowed traffic quota (%.2f%%)" %
        (vd['current_bandwidth_gb'], vd['allowed_bandwidth_gb'], usage * 100))
    if usage > retire_threshold:
        print "Retiring because I", msg
        closed = util.am_I_closed()
        util.close_server(msg)
        util.retire_server(msg, offload=closed)
    else:
        print "Usage portion: %s; not retiring." % usage
    print "Done."
Пример #2
0
def run():
    print "Starting..."
    vd = vultr_dict()
    usage = usage_portion(vd)
    msg = ("used %sGB out of %sGB allowed traffic quota (%.2f%%)"
           % (vd['current_bandwidth_gb'],
              vd['allowed_bandwidth_gb'],
              usage * 100))
    if usage > retire_threshold:
        print "Retiring because I", msg
        closed = util.am_I_closed()
        util.close_server(msg)
        util.retire_server(msg, offload=closed)
    else:
        print "Usage portion: %s; not retiring." % usage
    print "Done."
Пример #3
0
def run():
    print "Starting..."
    vd = vultr_dict()
    usage = usage_portion(vd)
    t = time_portion()
    msg = ("used %s out of %s allowed traffic quota (%.2f%%)"
           % (vd['current_bandwidth_gb'],
              vd['allowed_bandwidth_gb'],
              usage * 100))
    if usage > retire_threshold:
        print "Retiring because I", msg
        util.split_server(msg)
        util.retire_server(msg)
    elif t > significant_time and usage > significant_usage and usage > t:
        msg += " in %.2f%% of the current month" % (t * 100)
        print "Splitting because I", msg
        util.split_server(msg)
    else:
        print "Usage portion: %s; time portion: %s; not splitting." % (usage,
                                                                       t)
    print "Done."
Пример #4
0
# retiring it.
try:
    s = file(util.split_flag_filename).read()
    t0 = datetime.strptime(s, '%Y-%m-%d %H:%M:%S.%f')
    split_long_ago = (datetime.utcnow() - t0).days > 1
except IOError:
    split_long_ago = False
except ValueError:
    # Some old manually split servers have flag files that are empty or have
    # contents that are not valid datetime isoformats.
    split_long_ago = True

retire = (split_long_ago
          and la15m > retire_threshold
          and util.redis_shell.llen(util.region + ":srvq") >= min_q_size)


if la15m > split_threshold:
    print "Splitting..."
    util.split_server("reached load average %s" % la15m)
else:
    print "Not splitting."

if retire:
    print "Retiring..."
    util.retire_server("reached load average %s" % la15m)
else:
    print "Not retiring."

print "... done."
Пример #5
0
# retiring it.
try:
    s = file(util.close_flag_filename).read()
    t0 = datetime.strptime(s, '%Y-%m-%d %H:%M:%S.%f')
    closed_long_ago = (datetime.utcnow() - t0).days > 1
except IOError:
    closed_long_ago = False
except ValueError:
    # Some old manually closed servers have flag files that are empty or have
    # contents that are not valid datetime isoformats.
    closed_long_ago = True

retire = (closed_long_ago
          and lavg > retire_threshold
          and util.redis_shell.llen(util.region + ":srvq") >= min_q_size)


if lavg > close_threshold:
    print "Closing..."
    util.close_server("reached load average %s" % lavg)
else:
    print "Not closing."

if retire:
    print "Retiring..."
    util.retire_server("reached load average %s" % lavg)
else:
    print "Not retiring."

print "... done."