每个人如何在解析服务器上实现预定作业/云作业?

asd*_*f01 4 jobs kue parse-server

根据解析服务器迁移指南,我们可以使用KueKue-UI之类的东西来模拟parse.com预定作业功能.

我没有实现Kue或Kue-ui,但是看一下这些指南,它看起来并不像现有的parse.com预定作业那样提供接近相同级别的功能.这个观察是否正确?有人实施了吗?是不是必须通过jue中的Kue安排工作,而Kue-ui只提供工作当前状态的摘要,并且不能通过Kue-ui添加新的时间表?

有没有人试图用Jenkins这样的结果取得同样的结果?所以这就是我的想法:

  • 每个作业仍将在云代码Parse.Cloud.job中定义("job01",函数(请求,响应){));
  • 稍微修改parse-server以在类似于现有云功能的URL上公开作业,例如/ parse/jobs/job01(这可能很快存在于解析服务器中:github.com/ParsePlatform/parse-server/pull/2560)
  • 创建一个新的jenkins工作在该URL上做一个卷曲
  • 从jenkins web ui中为jenkins工作定义一个类似cron的计划

我可以看到以下好处:

  • 几乎没有编码
  • 设置jenkins听起来比设置kue,redis和kue-ui要少得多
  • 现有的云作业/定义保持完全相同
  • 安排并通过jenkins web ui手动触发工作

当前parse.com调度作业/云作业唯一可以做到的就是基于jenkins的解决方案无法从下拉列表中选择作业名称来创建新计划.

我错过了什么吗?其他人怎么样呢?谢谢.

rob*_*180 5

我最后用"节日计划"做了这个.不确定它是否是最好的选择,但它对我来说工作正常.

index.js

var schedule = require('node-schedule');
var request = require('request');
schedule.scheduleJob('*/15 * * * *', function() {
    var options = {
        url: serverUrl + '/functions/{function name}}',
        headers: {
            'X-Parse-Application-Id': appID,
            'X-Parse-Master-Key': masterKey,
            'Content-Type': 'application/json'
        }
    };
    request.post(options, function (error, response, body) {
        if (!error && response.statusCode == 200) {
            console.log(body);
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

main.js

Parse.Cloud.define('{function name}', function(req, res) {
  //Check for master key to prevent users to call this 
  if (req.master === true) {
    //Do operations here
  } else {
    res.error('Need Master Key');
  }
});
Run Code Online (Sandbox Code Playgroud)