...
|
...
|
@@ -33,24 +33,25 @@ const memcachedGetter = (path) => new Promise(async (resolve, reject) => { |
|
|
});
|
|
|
});
|
|
|
|
|
|
const memcachedSetter = (path, value) => new Promise(async (resolve, reject) => {
|
|
|
const memcachedSetter = async (path, value) => {
|
|
|
let memcached = await getMemcached();
|
|
|
|
|
|
memcached.set(path, value, 2592000, (err) => {
|
|
|
if (err) {
|
|
|
resolve();
|
|
|
console.log(`set ${path} memcached value error`);
|
|
|
} else {
|
|
|
resolve(`set ${path} value to: ${value} success`);
|
|
|
console.log(`set ${path} memcached value to: ${value} success`);
|
|
|
}
|
|
|
|
|
|
process.nextTick(() => {
|
|
|
memcached.end();
|
|
|
});
|
|
|
});
|
|
|
});
|
|
|
};
|
|
|
|
|
|
// 对某些path通过memcached处理值的存储
|
|
|
const gotoMemcached = path => path.indexOf('/pc/cart') > -1;
|
|
|
// /pc/cart , /pc/common
|
|
|
const gotoMemcached = path => /^\/pc\/(common|cart)\//.test(path);
|
|
|
|
|
|
const getMemcached = async () => {
|
|
|
let queryHosts = await MemcachedHost.findAll();
|
...
|
...
|
@@ -160,16 +161,15 @@ const ctl = { |
|
|
|
|
|
let path = theDegrade.path;
|
|
|
|
|
|
let result;
|
|
|
|
|
|
if (gotoMemcached(path)) {
|
|
|
result = await memcachedSetter(path, checked.toString());
|
|
|
} else {
|
|
|
let serverPath = await ctl.getServer();
|
|
|
let serverPath = await ctl.getServer();
|
|
|
let result = await setter(serverPath, path, checked.toString());
|
|
|
|
|
|
result = await setter(serverPath, path, checked.toString());
|
|
|
// 如果要设置memcached,再次写memcached
|
|
|
if (gotoMemcached(path)) {console.log(path)
|
|
|
memcachedSetter(path, checked.toString());
|
|
|
}
|
|
|
|
|
|
// result结果以zookeeper写为准
|
|
|
if (result) {
|
|
|
ctx.body = {
|
|
|
code: 200,
|
...
|
...
|
|