如何在解析服务器上用kue调度作业
How to schedule a job with kue on parse-server?
我有一个使用Heroku部署的解析服务器(来自我的GitHub repo),由mongoLab托管。我正在尝试在我的应用程序中发送定时推送通知,kue似乎是最可行的选择。然而,由于我对它非常陌生,我不确定如何处理它。我相信我已经在我的服务器上正确地安装了kue(通过GitHub)。现在,我想安排这个代码在未来的某个日期执行:
Parse.Cloud.define("sendPush", function(request, response) {
var pushQuery = new Parse.Query(Parse.Installation);
pushQuery.equalTo('username', request.params.targetUsername);
Parse.Push.send({
where: pushQuery, // Set our Installation query
data: {
alert: 'Hello!',
badge: 'Increment',
sound: 'PopDing.caf'
},
}, { success: function() {
console.log("#### PUSH OK");
}, error: function(error) {
console.log("#### PUSH ERROR" + error.message);
}, useMasterKey: true});
});
如果我以正确的方式处理这个问题,那么我需要代码来简单地安排一个作业(上面的代码)在未来的指定时间执行。我不计划代码定期或每隔一段时间运行,只在未来的指定时间运行一次。如有任何答案或建议,我们将不胜感激,谢谢!
以下是如何使用kue完成此任务的调度示例在未来特定时间仅一次:(12小时后)
var kue = require( 'kue' );
// create our job queue
var jobs = kue.createQueue();
// one minute
var minute = 60000;
var job= jobs.create( 'parseCloud', {
alert: 'Hello!',
badge: 'Increment',
sound: 'PopDing.caf'
} ).delay( minute * 60 * 12)
.priority( 'high' )
.save();
job.on( 'complete', function () {
console.log( 'renewal job completed' );
} );
jobs.process( 'parseCloud', function ( job, done ) {
var pushQuery = new Parse.Query(Parse.Installation);
pushQuery.equalTo('username', request.params.targetUsername);
Parse.Push.send({
where: pushQuery, // Set our Installation query
data: {
alert: job.data.alert,
badge: job.data.badge,
sound: job.data.sound
},
}, { success: function() {
console.log("#### PUSH OK");
done();
}, error: function(error) {
console.log("#### PUSH ERROR" + error.message);
done();
}, useMasterKey: true});
} );
// start the UI
kue.app.listen( 3000 );
console.log( 'UI started on port 3000' );
相关文章:
- cron作业与Javascript计时事件
- 与运行长作业(javascript,node.js)的第三方API同步的最佳实践
- MobileFirst:在客户端运行计时器作业-最佳选项
- 调度没有'无法立即更新组件
- 在dhtmlx调度程序中多次触发OnEventSave
- 解析云代码作业:删除在数据库中已经存在一个小时的行
- 如何将所有作业自定义到window.location.href
- Redux-正确调度操作
- 如何在解析服务器上用kue调度作业
- 在nodeJS中每小时运行一次调度作业
- kue-处理不同文件中的作业
- 使用解析服务器的后台作业&Heroku调度器
- 分布式任务调度,作业队列
- kue node.js处理作业行为
- kue for node.js的独特作业
- setTimeout对于在大时间段内调度作业是否安全?
- Azure调度器作业超时
- 使用开源作业调度器运行php文件
- NodeJS, ParseServer,多次调用的kue-scheduler作业
- 如何在javascript中实现异步作业调度器