
Research
/Security News
Chrome and Firefox Extensions Posing as Free VPNs Add Clipboard Stealers via Malicious Updates
Malicious Chrome and Firefox extensions posed as free VPNs while stealing clipboard data through later extension updates.
mysql_minionpool
Advanced tools
Extends minionpool to have worker pools that can process rows from a mysql table. It uses node-mysql as its MySQL driver.
The npm package is called mysql_minionpool.
It's used as a standard minionpool, you only need to provide some of the callbacks and mysql_minionpool will do the rest (see below).
Here's a simple program that will use mysql_minionpool to process a whole table paginating the rows, suitable to process a large number of rows.
var pool = new mysqlMinionPoolMod.MysqlMinionPool({
mysqlConfig: {
host: '127.0.0.1',
user: 'root',
password: 'pass',
database: 'db',
port: 3306
},
concurrency: 5, // How many pages to get concurrently...
rowConcurrency: 1, // ... and how many concurrent rows processed PER query
// Since we're paginating, let's create a state where we can store the
// current page and the total rows per page.
// First argument is the error, if something failed.
taskSourceStart: function(callback) {
callback(undefined, {page: 0, pageSize: 10});
},
// Called to retrieve rows to process (a page, in our case). In the 'state'
// variable, there will be a property state.mysqlPool that grants mysql
// access.
taskSourceNext: function(state, callback) {
var db = 'db';
var table = 'table';
var query = "SELECT * FROM `" + db + "`.`" + table + "` LIMIT ?,?";
state.mysqlPool.getConnection(function(err, mysqlConnection) {
if(err) {
callback(err, undefined);
} else {
mysqlConnection.query(
query, [state.page * state.pageSize, state.pageSize], function(err, rows) {
mysqlConnection.release();
// First argument for the callback is the error, if something failed.
if(err) {
callback(err, undefined);
} else if(rows.length === 0) {
callback(undefined, undefined);
} else {
callback(undefined, rows);
}
}
);
}
});
state.page++;
return state;
},
// The handle also gets state.mysqlPool.
minionTaskHandler: function(task, state, callback) {
console.log('item: ' + util.inspect(task));
// First argument is the error, if something failed.
callback(undefined, state);
},
poolEnd: function() {
console.log('done');
},
});
pool.start();
FAQs
A mysql minionpool, suitable to work on rows
The npm package mysql_minionpool receives a total of 2 weekly downloads. As such, mysql_minionpool popularity was classified as not popular.
We found that mysql_minionpool demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
Malicious Chrome and Firefox extensions posed as free VPNs while stealing clipboard data through later extension updates.

Research
/Security News
Miasma Mini Shai-Hulud hits @immobiliarelabs Backstage plugins, targeting GitLab and LDAP auth packages on npm.

Security News
Rolldown paused Rust React Compiler integration after a 5MB binary size increase raised concerns about shipping React-specific code to all Vite users.