Идея простая:
- В Meteor.methods добавляем нашу задачу (назовем ее task)
- Создаем route '/task/:param'
- А затем вызываем его через curl.
# /lib/router.coffee
Router.route '/task/:param', {where: 'server'}
.post ->
Meteor.call 'task', @params.param # запускаем метод 'task', ждем выполнения
this.response.end('done') # возвращаем 'done' когда 'task' выполнится
# /lib/task.coffee (or /server/task.coffee ?)
Meteor.methods
task: (param) ->
return if (Meteor.isClient)
# your code here
Добавляем в хероку аддон Heroku Scheduler. В нем добавляем задачу:curl -X POST https://our-app.herokuapp.com/task/param-value
Теперь хероку будет по расписанию это запускать, передавая param-value в метод task и возвращать строку 'done' (будет видна через heroku logs).
Комментариев нет:
Отправить комментарий