-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathwriteData.js
More file actions
62 lines (55 loc) · 1.2 KB
/
writeData.js
File metadata and controls
62 lines (55 loc) · 1.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
var Memcached = require('memcached')
var md5 = require('md5')
var async = require('async')
var request = require('request')
var fs = require('fs')
var wmem = new Memcached(
'127.0.0.1:11211'
)
function readFile (path, cb) {
fs.readFile(path, 'utf8', function (err, data) {
cb(err, data)
})
}
function curryWriteData (data) {
return function (cb) {
return writeDataToMem(data, cb)
}
}
function writeDataToMem (v, cb) {
var _key = 'ifeed_' + v.stock_code
var _rawkey = md5(_key.toLowerCase())
var _data = JSON.stringify(v)
wmem.set(_rawkey, _data, 0, function (err) {
console.log('done write ', _rawkey)
cb(err)
});
}
function main () {
// var que = []
// que.push(function (cb) {
// var path = 'data.json'
// return readFile(path, cb)
// })
// que.push(function (cb) {
// })
// async.series(que, function() {})
var path = 'data.json'
readFile(path, function (err, data) {
if(err){
return console.error(err)
}
var _json = JSON.parse(data)
var que = []
_json.map(function (v) {
que.push(curryWriteData(v))
})
async.parallel(que, function (err, data) {
if(err) {
return console.error(err)
}
console.log(' -- done writing to memcached -- ')
})
})
}
main()