From a4d4e53f45ab52503677eed5fccac1229b5bcc2e Mon Sep 17 00:00:00 2001 From: barisusakli Date: Sat, 21 Jun 2014 22:11:44 -0400 Subject: [PATCH] speed up category purge using eachLimit dont emit stats on every topic delete --- public/src/forum/categoryTools.js | 18 ++++++++---- public/src/forum/topic/events.js | 4 +-- src/categories/delete.js | 2 +- src/posts/delete.js | 6 ++++ src/socket.io/topics.js | 46 +++++++++++++++++++------------ src/threadTools.js | 15 +++------- 6 files changed, 53 insertions(+), 38 deletions(-) diff --git a/public/src/forum/categoryTools.js b/public/src/forum/categoryTools.js index cc4044aba9..dc66fe02f6 100644 --- a/public/src/forum/categoryTools.js +++ b/public/src/forum/categoryTools.js @@ -1,7 +1,7 @@ 'use strict'; -/* globals define, app, translator, socket, bootbox */ +/* globals define, app, translator, socket, bootbox, ajaxify */ define('forum/categoryTools', ['forum/topic/move', 'topicSelect'], function(move, topicSelect) { @@ -28,7 +28,7 @@ define('forum/categoryTools', ['forum/topic/move', 'topicSelect'], function(move $('.lock_thread').on('click', function() { var tids = topicSelect.getSelectedTids(); if (tids.length) { - socket.emit(isAny(isTopicLocked, tids) ? 'topics.unlock' : 'topics.lock', tids, onCommandComplete); + socket.emit(isAny(isTopicLocked, tids) ? 'topics.unlock' : 'topics.lock', {tids: tids, cid: CategoryTools.cid}, onCommandComplete); } return false; }); @@ -36,7 +36,7 @@ define('forum/categoryTools', ['forum/topic/move', 'topicSelect'], function(move $('.pin_thread').on('click', function() { var tids = topicSelect.getSelectedTids(); if (tids.length) { - socket.emit(isAny(isTopicPinned, tids) ? 'topics.unpin' : 'topics.pin', tids, onCommandComplete); + socket.emit(isAny(isTopicPinned, tids) ? 'topics.unpin' : 'topics.pin', {tids: tids, cid: CategoryTools.cid}, onCommandComplete); } return false; }); @@ -93,7 +93,8 @@ define('forum/categoryTools', ['forum/topic/move', 'topicSelect'], function(move if (!confirm) { return; } - socket.emit('topics.' + command, tids, onCommandComplete); + + socket.emit('topics.' + command, {tids: tids, cid: CategoryTools.cid}, onCommandComplete); }); }); } @@ -200,8 +201,13 @@ define('forum/categoryTools', ['forum/topic/move', 'topicSelect'], function(move getTopicEl(data.tid).remove(); } - function onTopicPurged(tid) { - getTopicEl(tid).remove(); + function onTopicPurged(tids) { + if (!tids) { + return; + } + for(var i=0; i