implement an admin command to update the default storage limit without a restart
This commit is contained in:
parent
f345998956
commit
b2fcde87d8
@ -110,6 +110,23 @@ var flushCache = function (Env, Server, cb) {
|
|||||||
cb(void 0, true);
|
cb(void 0, true);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// CryptPad_AsyncStore.rpc.send('ADMIN', ['SET_DEFAULT_STORAGE_LIMIT', 1024 * 1024 * 1024 /* 1GB */], console.log)
|
||||||
|
var setDefaultStorageLimit = function (Env, Server, cb, data) {
|
||||||
|
var value = Array.isArray(data) && data[1];
|
||||||
|
if (typeof(value) !== 'number' || value <= 0) { return void cb('EINVAL'); }
|
||||||
|
var previous = Env.defaultStorageLimit;
|
||||||
|
var change = {
|
||||||
|
previous: previous,
|
||||||
|
current: value,
|
||||||
|
};
|
||||||
|
|
||||||
|
Env.defaultStorageLimit = value;
|
||||||
|
Env.Log.info('DEFAULT_STORAGE_LIMIT_UPDATE', change);
|
||||||
|
|
||||||
|
cb(void 0, change);
|
||||||
|
};
|
||||||
|
|
||||||
var commands = {
|
var commands = {
|
||||||
ACTIVE_SESSIONS: getActiveSessions,
|
ACTIVE_SESSIONS: getActiveSessions,
|
||||||
ACTIVE_PADS: getActiveChannelCount,
|
ACTIVE_PADS: getActiveChannelCount,
|
||||||
@ -119,6 +136,7 @@ var commands = {
|
|||||||
SHUTDOWN: shutdown,
|
SHUTDOWN: shutdown,
|
||||||
GET_FILE_DESCRIPTOR_COUNT: getFileDescriptorCount,
|
GET_FILE_DESCRIPTOR_COUNT: getFileDescriptorCount,
|
||||||
GET_FILE_DESCRIPTOR_LIMIT: getFileDescriptorLimit,
|
GET_FILE_DESCRIPTOR_LIMIT: getFileDescriptorLimit,
|
||||||
|
SET_DEFAULT_STORAGE_LIMIT: setDefaultStorageLimit,
|
||||||
};
|
};
|
||||||
|
|
||||||
Admin.command = function (Env, safeKey, data, _cb, Server) {
|
Admin.command = function (Env, safeKey, data, _cb, Server) {
|
||||||
@ -133,7 +151,7 @@ Admin.command = function (Env, safeKey, data, _cb, Server) {
|
|||||||
var command = commands[data[0]];
|
var command = commands[data[0]];
|
||||||
|
|
||||||
if (typeof(command) === 'function') {
|
if (typeof(command) === 'function') {
|
||||||
return void command(Env, Server, cb);
|
return void command(Env, Server, cb, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
return void cb('UNHANDLED_ADMIN_COMMAND');
|
return void cb('UNHANDLED_ADMIN_COMMAND');
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user