如何从移动服务中“唤醒”Azure webjob?

比方说,我有一个configuration为单身的Azure webjob,并在自由站点上下文中“连续”运行。 根据Azure规范 ,在开始一段时间之后,webjob会closures,除非有人继续运行:

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

不过,这对我来说很好。 我的目标是在调用移动服务自定义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); }; 

我所需要的只是与楼梯定时照明相同的行为:一旦有人按下了灯光button,灯光就会打开一段时间。 如果有人在灯亮的情况下按下另一个button,则相同的灯保持点亮。 希望能给出这个意义

我的问题是find一个简单的方法来“间接调用”webjob,以便它将被重新启动。

要“唤醒”WebJob,您需要向scm站点发出请求:https:// {sitename} .scm.azurewebsites.net

该调用需要进行身份validation,您可以使用基本身份validation来提供网站的部署凭据,您可以通过从Azure门户网站的仪表板下载发布configuration文件来获取该调用。

POST一个空请求:https:// {cotainername} .scm.azurewebsites.net / api / jobs / continuous / {webjobname} / start

使用来自{website} \ publishprofile {容器名} .azurewebsites.net.publish.settings文件的userName和userPWD值,在属性为publishMethod =“MSDeploy”的第一个节点中,

我只是自己testing了一下,因为我也有类似的情况,关于免费网站工作睡觉。