0

vsivsi :job-collectionを使用して、例のようにジョブをセットアップしましたが、違いはジョブがサーバー上で処理されることです。また、クライアントでジョブを処理するサンプル アプリと比較して何が欠けているのかわかりません。

lib/db.coffee

@ParsingJobs = JobCollection('parsing', {
    workTimeout: 10000
    transform: (d) ->
        try
            res = new Job(ParsingJobs, d)
        catch e
            res = d
        return res
})

if Meteor.isServer
    Meteor.startup(->
        ParsingJobs.allow({
            admin: (user_id, method, params) ->
                # commented temporarily Roles.userIsInRole(Meteor.user(), ['admin'])
                true
        })

        ParsingJobs.startJobServer()

サーバー.コーヒー

que = ParsingJobs.processJobs('parsing', {workTimeout: 10000}, (job, cb) ->
    # do some processing
    job.done('success')
    cb()

ParsingJobs.find({type: 'parsing', status: 'ready'}).observe
    added: ->
        que.trigger()

クライアントでは、シェル コマンドを実行するだけです。

x = ParsingJobs.find().fetch()[0]
x.rerun()

結果:

job_class.js:16 キャッチされないエラー: ジョブのリモート メソッド呼び出しエラー、有効な呼び出しメソッドが見つかりません。

私は何を間違っていますか?

4

1 に答える 1