假设我将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的简单方法,以便重新启动它。
答案 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"
的第一个节点中我自己刚刚对此进行了测试 - 因为我对免费网站的工作情况也有类似的情况。