如何唤醒"移动服务中的Azure webjob?

时间:2014-10-23 07:29:32

标签: node.js azure-mobile-services azure-webjobs

假设我将Azure webjob配置为 singleton ,并在 free-site 上下文中“连续”运行。根据{{​​3}},从开始一段时间后,webjob将被关闭,除非有人将其保持运行:

  

截至2014年3月,免费模式的网站可能会在20分钟后超时   如果没有对scm(部署)站点的请求和   网站的门户网站未在Azure中打开。请求到实际网站   不会重置这个。

然而,这对我来说没问题。我的目标是在调用移动服务自定义API时“唤醒”webjob实例,如下面的基本示例所示:

exports.post = function(request, response) {
    //ensure the webjob running, in case wake it up
    var rq = require('request');
    rq("http:// ??? (any site to invoke?) ", function(error, response, body) {
        //do nothing
    });

    //do specific stuffs related to the mobile service
    var rtn = { message : 'Hello World!' };
    rtn.req = request.body;
    response.send(statusCodes.OK, rtn);
};

所有我需要的是与楼梯定时灯相同的行为:一旦有人按下灯按钮,灯将转动一段时间。如果有人在灯打开时按下另一个按钮,则相同的灯会一直亮着。希望能给出意义......

我的问题是找到一种“间接调用”webjob的简单方法,以便重新启动它。

2 个答案:

答案 0 :(得分:2)

唤醒"醒来"您需要向scm网站发出请求的WebJob:https:// {sitename} .scm.azurewebsites.net

呼叫需要进行身份验证,您可以使用提供网站部署凭据的基本身份验证进行身份验证,您可以通过从网站上下载发布配置文件来获取此功能。 Azure门户中的仪表板。

答案 1 :(得分:1)

将空请求发布到: HTTPS:// {cotainername} .scm.azurewebsites.net / API /作业/连续/ {webjobname} /起动

使用{website} \ publishprofile {containername} .azurewebsites.net.publish.settings文件中的userName和userPWD值, 在具有属性publishMethod =" MSDeploy"

的第一个节点中

我自己刚刚对此进行了测试 - 因为我对免费网站的工作情况也有类似的情况。