@@ -66,80 +66,6 @@ taskmanager.longtask = function(options) {
66
66
var start = new Date ( ) . getTime ( ) ;
67
67
var timeout ;
68
68
69
- var saveOpId = async function ( comment_id , retryCount ) {
70
- common . db . admin ( ) . command ( { currentOp : 1 } , async function ( error , result ) {
71
- if ( error ) {
72
- log . d ( error ) ;
73
- return ;
74
- }
75
- else {
76
- if ( result && result . inprog ) {
77
- for ( var i = 0 ; i < result . inprog . length ; i ++ ) {
78
- let op = result . inprog [ i ] ;
79
- if ( ! ( '$truncated' in op . command ) && ( i !== result . inprog . length - 1 ) ) {
80
- continue ;
81
- }
82
- if ( ! ( '$truncated' in op . command ) && ( i === result . inprog . length - 1 ) ) {
83
- if ( retryCount < 3 ) {
84
- setTimeout ( ( ) => saveOpId ( comment_id , ( ++ retryCount ) ) , 500 ) ;
85
- return ;
86
- }
87
- else {
88
- log . d ( `operation not found for task:${ options . id } comment: ${ comment_id } ` ) ;
89
- break ;
90
- }
91
- }
92
-
93
- let comment_position = op . command . $truncated . indexOf ( '$comment' ) ;
94
- if ( comment_position === - 1 ) {
95
- continue ;
96
- }
97
-
98
- let substr = op . command . $truncated . substring ( comment_position , op . command . $truncated . length ) || "" ;
99
- var comment_val = "" ;
100
- substr = substr . match ( / " ( .* ?) " / ) ;
101
- if ( substr && Array . isArray ( substr ) ) {
102
- comment_val = substr [ 1 ] ;
103
- }
104
-
105
- if ( comment_val === comment_id ) {
106
- var task_id = options . id ;
107
- var op_id = op . opid ;
108
- await common . db . collection ( "long_tasks" ) . findOneAndUpdate ( { _id : common . db . ObjectID ( task_id ) } , { $set : { op_id : op_id } } ) ;
109
- log . d ( `Operation found task: ${ task_id } op:${ op_id } comment: ${ comment_id } ` ) ;
110
- break ;
111
- }
112
- else if ( ( comment_val !== comment_id ) && ( i === ( result . inprog . length - 1 ) ) ) {
113
- if ( retryCount < 3 ) {
114
- setTimeout ( ( ) => saveOpId ( comment_id , ( ++ retryCount ) ) , 500 ) ;
115
- break ;
116
- }
117
- else {
118
- log . d ( `operation not found for task:${ options . id } comment: ${ comment_id } ` ) ;
119
- break ;
120
- }
121
- }
122
- }
123
- }
124
- }
125
- } ) ;
126
- } ;
127
-
128
- if ( options . comment_id ) {
129
- var retryCount = 0 ;
130
- try {
131
- saveOpId ( options . comment_id , retryCount ) ;
132
- }
133
- catch ( err ) {
134
- if ( retryCount < 3 ) {
135
- setTimeout ( ( ) => saveOpId ( options . comment_id , ++ retryCount ) , 500 ) ;
136
- }
137
- else {
138
- console . log ( err ) ;
139
- }
140
- }
141
- }
142
-
143
69
/** switching to long task */
144
70
function switchToLongTask ( ) {
145
71
timeout = null ;
@@ -1118,47 +1044,7 @@ taskmanager.rerunTask = function(options, callback) {
1118
1044
} ;
1119
1045
1120
1046
taskmanager . stopTask = function ( options , callback ) {
1121
- options . db = options . db || common . db ;
1122
-
1123
- /**
1124
- * Stop task
1125
- * @param {object } op_id - operation id for mongo process
1126
- * @param {object } options1.db - database connection
1127
- * @param {string } options1.id - id of the task result
1128
- * @param {object } reqData - request data
1129
- * @param {funciton } callback1 - callback for the result
1130
- */
1131
- function stopTask ( op_id ) {
1132
- common . db . admin ( ) . command ( { killOp : 1 , op : Number . parseInt ( op_id ) } , function ( error , result ) {
1133
- if ( result . ok === 1 ) {
1134
- callback ( null , "Success" ) ;
1135
- }
1136
- else {
1137
- callback ( null , "Operation could not be stopped" ) ;
1138
- }
1139
- } ) ;
1140
- }
1141
-
1142
- options . db . collection ( "long_tasks" ) . findOne ( { _id : options . id } , function ( err , res ) {
1143
- if ( res ) {
1144
- if ( res . creator ) {
1145
- options . db . collection ( "members" ) . findOne ( { _id : common . db . ObjectID ( res . creator ) } , function ( err1 , member ) {
1146
- if ( member ) {
1147
- stopTask ( res . op_id ) ;
1148
- }
1149
- else {
1150
- callback ( null , "No permission to stop this task" ) ;
1151
- }
1152
- } ) ;
1153
- }
1154
- else {
1155
- stopTask ( res . op_id ) ;
1156
- }
1157
- }
1158
- else {
1159
- callback ( null , "Task does not exist" ) ;
1160
- }
1161
- } ) ;
1047
+ callback ( null , "Operation could not be stopped" ) ;
1162
1048
} ;
1163
1049
1164
1050
/**
@@ -1201,4 +1087,4 @@ function getResult(callback, options) {
1201
1087
}
1202
1088
} ;
1203
1089
}
1204
- module . exports = taskmanager ;
1090
+ module . exports = taskmanager ;
0 commit comments