mirror of
https://github.com/idanoo/GoScrobble
synced 2025-07-04 23:22:17 +00:00
0.2.0 - Mid migration
This commit is contained in:
parent
139e6a915e
commit
7e38fdbd7d
42393 changed files with 5358157 additions and 62 deletions
56
web/node_modules/worker-farm/lib/child/index.js
generated
vendored
Normal file
56
web/node_modules/worker-farm/lib/child/index.js
generated
vendored
Normal file
|
@ -0,0 +1,56 @@
|
|||
'use strict'
|
||||
|
||||
let $module
|
||||
|
||||
/*
|
||||
let contextProto = this.context;
|
||||
while (contextProto = Object.getPrototypeOf(contextProto)) {
|
||||
completionGroups.push(Object.getOwnPropertyNames(contextProto));
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
function handle (data) {
|
||||
let idx = data.idx
|
||||
, child = data.child
|
||||
, method = data.method
|
||||
, args = data.args
|
||||
, callback = function () {
|
||||
let _args = Array.prototype.slice.call(arguments)
|
||||
if (_args[0] instanceof Error) {
|
||||
let e = _args[0]
|
||||
_args[0] = {
|
||||
'$error' : '$error'
|
||||
, 'type' : e.constructor.name
|
||||
, 'message' : e.message
|
||||
, 'stack' : e.stack
|
||||
}
|
||||
Object.keys(e).forEach(function(key) {
|
||||
_args[0][key] = e[key]
|
||||
})
|
||||
}
|
||||
process.send({ owner: 'farm', idx: idx, child: child, args: _args })
|
||||
}
|
||||
, exec
|
||||
|
||||
if (method == null && typeof $module == 'function')
|
||||
exec = $module
|
||||
else if (typeof $module[method] == 'function')
|
||||
exec = $module[method]
|
||||
|
||||
if (!exec)
|
||||
return console.error('NO SUCH METHOD:', method)
|
||||
|
||||
exec.apply(null, args.concat([ callback ]))
|
||||
}
|
||||
|
||||
|
||||
process.on('message', function (data) {
|
||||
if (data.owner !== 'farm') {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!$module) return $module = require(data.module)
|
||||
if (data.event == 'die') return process.exit(0)
|
||||
handle(data)
|
||||
})
|
Loading…
Add table
Add a link
Reference in a new issue