2012-01-24 4 views
0

MySQL 저장소가있는 http://persistencejs.org/plugin/sync의 지침에 따라 persistencejs 서버 동기화를 설정했습니다. Node.js 서버 코드는 다음과 같습니다. = 1325375000 다음과 같은 오류가 발생하기 때문에persistence.sync.server.js 사용 문제

var sys = require('sys'); 
    var persistence = require('./persistence/persistence').persistence; 
    var persistenceStore = require('./persistence/persistence.store.mysql'); 
    var persistenceSync = require('./persistence/persistence.sync.server'); 

    var Task = persistence.define("Task", { 
    name: "TEXT", 
    done: "BOOL" 
    }); 

    persistenceStore.config(persistence, 'localhost', 3306, 'tasks', 'root', 'zx6h1lmp'); 
    persistenceSync.config(persistence); 

    var session = persistenceStore.getSession(); 
    session.schemaSync(); 

    var app = require('express').createServer(); 

    app.get('/taskUpdates', function(req, res) { 
    persistenceSync.pushUpdates(req.conn, req.tx, Task, req.query.since, function(updates){ 
     res.send(updates); 
    }); 
    }); 

    app.listen(8000); 
    console.log('Server running at http://localhost:8000/'); 

로드/taskUpdates은?

Error: Invalid value for argument: callback Value: undefined 
    at Object.getArgs (C:\tasks\persistence\persistence.js:2150:19) 
    at Observable.list (C:\tasks\persistence\persistence.store.sql.js:580:24) 
    at Object.pushUpdates (C:\tasks\persistence\persistence.sync.server.js:82:53) 
    at C:\tasks\tasks.js:20:19 
    at callbacks (C:\tasks\node_modules\express\lib\router\index.js:272:11) 
    at param (C:\tasks\node_modules\express\lib\router\index.js:246:11) 
    at pass (C:\tasks\node_modules\express\lib\router\index.js:253:5) 
    at Router._dispatch (C:\tasks\node_modules\express\lib\router\index.js:280:4) 
    at Object.handle (C:\tasks\node_modules\express\lib\router\index.js:45:10) 
    at next (C:\tasks\node_modules\express\node_modules\connect\lib\http.js:203:15) 

은 어떤 통찰력에 감사드립니다!

답변

0

귀하가 처리하는 모든 연결에 persistenceStore.getSession() (으)로 전화해야한다고 생각합니다. 아래 예와 같이 을 얻으십시오.

app.get('/taskUpdates', function(req, res) { 
    var session = persistenceStore.getSession(); 
    session.transaction(function(tx){ 
     persistenceSync.pushUpdates(session, tx, Task, req.query.since, function(updates) { 
      res.send(updates); 
     }); 
    }); 
});