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 キャッチされないエラー: ジョブのリモート メソッド呼び出しエラー、有効な呼び出しメソッドが見つかりません。
私は何を間違っていますか?