feat: ability to clear cache from acp

v1.18.x
Barış Soner Uşaklı 5 years ago
parent 69fb15276c
commit bbc7737e14

@ -0,0 +1,20 @@
'use strict';
define('admin/advanced/cache', function () {
var Cache = {};
Cache.init = function () {
require(['admin/settings'], function (Settings) {
Settings.prepare();
});
$('#clear').on('click', function () {
socket.emit('admin.cache.clear', function (err) {
if (err) {
return app.alertError(err.message);
}
ajaxify.refresh();
});
});
};
return Cache;
});

@ -45,7 +45,7 @@ cacheController.get = function (req, res) {
dump: req.query.debug ? JSON.stringify(localCache.dump(), null, 4) : false,
hits: utils.addCommas(String(localCache.hits)),
misses: utils.addCommas(String(localCache.misses)),
hitRatio: (localCache.hits / (localCache.hits + localCache.misses)).toFixed(4),
hitRatio: ((localCache.hits / (localCache.hits + localCache.misses) || 0)).toFixed(4),
},
};

@ -32,6 +32,7 @@ SocketAdmin.logs = require('./admin/logs');
SocketAdmin.errors = require('./admin/errors');
SocketAdmin.uploads = require('./admin/uploads');
SocketAdmin.digest = require('./admin/digest');
SocketAdmin.cache = require('./admin/cache');
SocketAdmin.before = async function (socket, method) {
const isAdmin = await user.isAdministrator(socket.uid);

@ -0,0 +1,10 @@
'use strict';
const SocketCache = module.exports;
SocketCache.clear = async function () {
require('../../posts/cache').reset();
require('../../database').objectCache.reset();
require('../../groups').cache.reset();
require('../../cache').reset();
};

@ -106,14 +106,9 @@
<div class="panel panel-default">
<div class="panel-heading">[[admin/advanced/cache:control-panel]]</div>
<div class="panel-body">
<button class="btn btn-primary" id="save">[[admin/advanced/cache:update-settings]]</button>
<button class="btn btn-primary btn-block" id="save">[[admin/advanced/cache:update-settings]]</button>
<button class="btn btn-info btn-block" id="clear">[[admin/advanced/cache:clear]]</button>
</div>
</div>
</div>
</div>
<script>
require(['admin/settings'], function(Settings) {
Settings.prepare();
});
</script>
Loading…
Cancel
Save