无法部署 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 更新对象的属性?

AWS Beanstalk - nginx 强制 SSL 配置更改后,Worker env 不处理后台作业

前后台作业

用于重复后台作业的延迟作业、守护进程或其他 gem

Linux的作业控制

使用弹性 beantalk 运行后台作业