无法部署 Parse 后台作业
Posted
技术标签:
【中文标题】无法部署 Parse 后台作业【英文标题】:Can't deploy Parse background job 【发布时间】:2016-03-22 07:00:11 【问题描述】:我正在尝试在 heroku 上运行“hello world”后台作业,然后对其进行扩展,但是每当我尝试部署它时,我都会收到以下错误:TypeError: undefined is not a function
代码如下,我有正常的云功能,可以正常工作,所以我知道 Parse 已初始化等,我在这里做错了什么?
后台作业中断
Parse.Cloud.job('myBackgroundJob', function(request, response)
console.log('Running background job');
);
工作云代码功能
Parse.Cloud.define('sayHello', function(request, response)
console.log('hello world');
);
【问题讨论】:
【参考方案1】:根据this question 的回答,Heroku 似乎不支持后台作业。
相反,您似乎需要将Heroku Scheduler 用于不太重要的作业,或者将Custom Clock Process 用于需要更频繁或更可靠地执行的作业。
如果有人有如何设置的示例或教程,我将不胜感激。就我而言,我需要一个自定义时钟进程。
【讨论】:
现在我刚刚回到 Parse Cloud Code。目前看来还不错,希望以后不会毁了我的生活。 为了记录,回去实际上毁了我的生活,因为他们正在关闭 Parse.com 仍在寻找有关为 Parse + Heroku 设置自定义时钟过程的教程:(【参考方案2】:使用 cron 以this example 作为模板,设法让这个工作:
如果您确实采用这种方法,我强烈建议将其设置在单独的“工人”测功机上,而不是与您的主应用程序捆绑在一起,否则添加更多测功机时您的作业将运行多次。
非常简单地将 index.js 代码放在另一个文件中,然后在您的 procfile 中指定要用于工作人员 dyno 的文件。
【讨论】:
以上是关于无法部署 Parse 后台作业的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Parse Cloud Code 更新对象的属性?