UNPKG

ilink_updater

Version:

96 lines (90 loc) 3.06 kB
insert_querys = []; updater.query_sender = function (Q) { Pool.getConnection(function (err, mysql_connection) { function process_query(err, results) { if (err) { pino.error({ name: 'bad_insert_query', source: 'ilink_updater/lib/update/' + __line, function: __function, module: 'test', template: '', obj: Q });} else { if (Q.make_cache) { var id=(Q.update_id)?Q.update_id:results.insertId; var cache = { db_name: Q.db_name, make_cache: Q.make_cache, id:id, table_name: Q.table_name,type:Q.type }; rsmq.sendMessage({qname: "cache_queue", message: JSON.stringify(cache)}, function () { pino.info({query_name:Q.query_name},'inserted_query') }); id = null; cache = null; } mysql_connection.release(); } } mysql_connection.query(Q.sql, [],process_query ); }) }; updater.send_msg=function(clone){ function make_insert_obj(Q){ var sql = Q.query; var inserts = []; if (Q.multi) { inserts = [Q.values]; } else { inserts = [Q.inserted_obj]; } sql = mysql.format(sql, inserts); inserts=null; var obj = { db_name: clone.db_name, sql: sql, type: clone.type, update_id: Q.update_id, table_name: Q.name, query_name: clone.query_name, make_cache: clone.make_cache }; updater.query_sender(obj); obj = null; sql=null; } _.each(clone.Q_arr, function (R) { _.each(R.object,make_insert_obj); R = null; }); }; updater.update = function (param) { var D = QUERY_DEFINITIONS[param.query_name]; var host_params = HOST_LIST[param.client]; if (host_params) { var Q_arr = update_param_maker(param.query_name, param.obj, host_params.database); var Q = { db_name: host_params.database, Q_arr: Q_arr, make_cache: D.make_cache, query_name: D.name, type: 'update' }; if (!Q_arr.error) { updater.send_msg(Q); Q=null; Q_arr=null; } else { finish(Q); } } else { var M={ name: 'client_not_exist', source: 'ilink_updater/lib/update/' + __line, function: __function, module: 'test', client: db_name }; rsmq.sendMessage({qname: "fatal", message: M}, function (err, res) { }); pino.error(); } }; updater.timer = function () { timer("update_queue", insert_querys, InsertRefreshInterval, false, updater.update); };