-
Notifications
You must be signed in to change notification settings - Fork 21
Проблема при асинхронном импорте #28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
А что за версия?
…On Fri, Jul 14, 2017 at 5:39 PM, Alexey ***@***.***> wrote:
script:
var libs = process.cwd() + '/libs/';
var fs = require('fs');
var readline = require('linebyline');
var TarantoolConnection = require('tarantool-driver');
var conn = new TarantoolConnection({port: 3301, log: false});
var inserted = 0;
conn.connect()
.then(function() {
var rl = readline('./libs/model/segment/dictionary.csv');
rl.on('line', function(line, lineCount) {
if (lineCount === 1) return;
if (lineCount % 1000 === 0){
console.log('readed :', lineCount);
}
var tags = line.split(';');
conn.insert('tags',
[parseInt(tags[0]), tags[1], parseInt(tags[2]), tags[5], parseInt(tags[6]), parseFloat(tags[3]), parseInt(tags[4]), 7, 5, 1]
).then(function(){
inserted++;
if (inserted % 1000 === 0){
console.log('inserted to db :', inserted);
}
}).catch(function (e) {
console.log(e);
})
});
rl.on("end", function(){
});
}).catch(function (e) {
console.log(e);
});
console output:
readed : 1000
readed : 2000
inserted to db : 1000
inserted to db : 2000
readed : 3000
readed : 4000
inserted to db : 3000
inserted to db : 4000
readed : 5000
readed : 6000
inserted to db : 5000
inserted to db : 6000
readed : 7000
readed : 8000
inserted to db : 7000
inserted to db : 8000
readed : 9000
readed : 10000
inserted to db : 9000
inserted to db : 10000
readed : 11000
readed : 12000
inserted to db : 11000
inserted to db : 12000
readed : 13000
inserted to db : 13000
readed : 14000
readed : 15000
inserted to db : 14000
inserted to db : 15000
readed : 16000
readed : 17000
inserted to db : 16000
Error
at TarantoolConnection._processResponse (/home/akudelka/home/tam.by/ad.tam.by/server/node_modules/tarantool-driver/lib/connection.js:680:18)
at TarantoolConnection.onData (/home/akudelka/home/tam.by/ad.tam.by/server/node_modules/tarantool-driver/lib/connection.js:406:22)
at emitOne (events.js:96:13)
at Socket.emit (events.js:191:7)
at readableAddChunk (_stream_readable.js:178:18)
at Socket.Readable.push (_stream_readable.js:136:10)
at TCP.onread (net.js:561:20)
readed : 18000
readed : 19000
readed : 20000
readed : 21000
readed : 22000
Короче проблема в том что видимо закрывается соединение и на этом все.
Есть ли способ решить данную проблему? Заранее спасибо.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#28>, or mute the
thread
<https://github.com/notifications/unsubscribe-auth/AAwPG7_005lyYQEG4FnZSD_H7jgjOTfEks5sN32ggaJpZM4OYVgH>
.
|
Больше похоже на то что не может прочесть ответ.
On Fri, Jul 14, 2017 at 6:24 PM, Николай Мендяев <[email protected]>
wrote:
… А что за версия?
On Fri, Jul 14, 2017 at 5:39 PM, Alexey ***@***.***> wrote:
> script:
>
> var libs = process.cwd() + '/libs/';
> var fs = require('fs');
> var readline = require('linebyline');
> var TarantoolConnection = require('tarantool-driver');
> var conn = new TarantoolConnection({port: 3301, log: false});
>
> var inserted = 0;
> conn.connect()
> .then(function() {
> var rl = readline('./libs/model/segment/dictionary.csv');
>
> rl.on('line', function(line, lineCount) {
> if (lineCount === 1) return;
> if (lineCount % 1000 === 0){
> console.log('readed :', lineCount);
> }
> var tags = line.split(';');
>
> conn.insert('tags',
> [parseInt(tags[0]), tags[1], parseInt(tags[2]), tags[5], parseInt(tags[6]), parseFloat(tags[3]), parseInt(tags[4]), 7, 5, 1]
> ).then(function(){
> inserted++;
> if (inserted % 1000 === 0){
> console.log('inserted to db :', inserted);
> }
> }).catch(function (e) {
> console.log(e);
> })
>
> });
> rl.on("end", function(){
> });
> }).catch(function (e) {
> console.log(e);
> });
>
> console output:
> readed : 1000
> readed : 2000
> inserted to db : 1000
> inserted to db : 2000
> readed : 3000
> readed : 4000
> inserted to db : 3000
> inserted to db : 4000
> readed : 5000
> readed : 6000
> inserted to db : 5000
> inserted to db : 6000
> readed : 7000
> readed : 8000
> inserted to db : 7000
> inserted to db : 8000
> readed : 9000
> readed : 10000
> inserted to db : 9000
> inserted to db : 10000
> readed : 11000
> readed : 12000
> inserted to db : 11000
> inserted to db : 12000
> readed : 13000
> inserted to db : 13000
> readed : 14000
> readed : 15000
> inserted to db : 14000
> inserted to db : 15000
> readed : 16000
> readed : 17000
> inserted to db : 16000
> Error
> at TarantoolConnection._processResponse (/home/akudelka/home/tam.by/ad.tam.by/server/node_modules/tarantool-driver/lib/connection.js:680:18)
> at TarantoolConnection.onData (/home/akudelka/home/tam.by/ad.tam.by/server/node_modules/tarantool-driver/lib/connection.js:406:22)
> at emitOne (events.js:96:13)
> at Socket.emit (events.js:191:7)
> at readableAddChunk (_stream_readable.js:178:18)
> at Socket.Readable.push (_stream_readable.js:136:10)
> at TCP.onread (net.js:561:20)
> readed : 18000
> readed : 19000
> readed : 20000
> readed : 21000
> readed : 22000
>
> Короче проблема в том что видимо закрывается соединение и на этом все.
> Есть ли способ решить данную проблему? Заранее спасибо.
>
> —
> You are receiving this because you are subscribed to this thread.
> Reply to this email directly, view it on GitHub
> <#28>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/AAwPG7_005lyYQEG4FnZSD_H7jgjOTfEks5sN32ggaJpZM4OYVgH>
> .
>
|
"name": "tarantool-driver", tarantool 1.7. Может есть какая нить конфигурация для того чтобы коннект не закрывался? Еще пробовал конкретно эту запись пропускать, но все равно на след затык.
При чем, как ни странно но записи в продолжают добавляться. Т.е. когда в тарантул консоли считаю количество - записи растут, но в консоли скрипта уже ничего не выводится. PS посмотрел файл tarantool-driver/lib/connection.js, там при ошибке и еще каких то условиях вызывается socket.destroy(). |
А какая версия драйвера?
2017-07-15 1:21 GMT+03:00 Alexey <[email protected]>:
… tarantool 1.7. Может есть какая нить конфигурация для того чтобы коннект
не закрывался? Еще пробовал конкретно эту запись пропускать, но все равно
на след затык.
box.cfg {
listen = 3311,
log = 'tarantool.log',
checkpoint_interval = 3600,
checkpoint_count = 5,
log_level = 3,
memtx_memory = 2056 * 1024 *1024
}
if not s then
s = box.schema.space.create('tags')
-- Первичный индекс
s:create_index('primary', {type = 'TREE', parts = {1, 'INT'}})
s:create_index('tag', {type = 'TREE', unique = false, parts = {2, 'STR'}})
s:create_index('tag_id', {type = 'TREE', unique = false, parts = {3,
'INT'}})
s:create_index('segment', {type = 'TREE', unique = false, parts = {4,
'STR'}})
s:create_index('segment_id', {type = 'TREE', unique = false, parts = {5,
'INT'}})
s:create_index('tag_segment_level', {type = 'TREE', unique = true, parts
= {3, 'INT', 5, 'INT', 7, 'INT'}})
end
При чем, как ни странно но записи в продолжают добавляться. Т.е. когда в
тарантул консоли считаю количество - записи растут, но в консоли скрипта
уже ничего не выводится.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#28 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAwPG7Jk0xKxhEH2cm2u1pWG9ucSrGLyks5sN-nagaJpZM4OYVgH>
.
|
npm install --save tarantool-driver |
Попробуйте версию 1.1.1 или 1.1.0 И можете содержимое dictionary скинуть мы у себя воспроизведем. |
или 1.1.2 |
@akudelka Отправьте, пожалуйста, вывод из консоли с {log: true}. |
Заработало на версии 1.1.2. Спасибо большое! Надеюсь в версии 2+ удастся воспроизвести и пофиксить. |
script:
В файле более 5 млн записей
Короче проблема в том что видимо закрывается соединение и на этом все. Есть ли способ решить данную проблему? Заранее спасибо.
The text was updated successfully, but these errors were encountered: