I suggest you ...

Provide a way to schedule worker roles so they only run when needed

If worker roles could be scheduled, like windows task scheduler then we would massively reduce the required cpu time used.

1,025 votes
Vote 0 votes Vote Vote
Vote
Sign in
Check!
(thinking…)
Reset
or sign in with
  • facebook
  • google
    I agree to the terms of service

    You'll receive a confirmation email with a link to create a password (optional).

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    anonymousanonymous shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →

    36 comments

    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      I agree to the terms of service

      You'll receive a confirmation email with a link to create a password (optional).

      Signed in as (Sign out)
      Submitting...
      • Chris AuldChris Auld commented  ·   ·  Flag as inappropriate

        As others have noted this is *possible* by doing an undeploy/redeploy when needed. it is *posible* but a total pain in the arse. Can I point you to my suggestion for allowing an instance count of Zero as a concrete idea to solve this problem. Then it becomes as simple as chaging the instnace count using the management API http://www.mygreatwindowsazureidea.com/forums/34192-windows-azure-feature-voting/suggestions/743252-allow-a-role-instnace-count-of-0?ref=title

      • Jeff JorczakJeff Jorczak commented  ·   ·  Flag as inappropriate

        I just got off the phone with Azure Support and they told me to create a new worker role service every day, deploy and run the job, and then delete it all. Do this manually every day! Doesn't this defeat the purpose of having a service? I can run it manually on my dev box every day if I am going to have to be present when it runs.

      • Jeff JorczakJeff Jorczak commented  ·   ·  Flag as inappropriate

        So without this, how it is possible to have a worker role consume a variable amount of time? It seems they will consume every hour since deployment.

      • vtortolavtortola commented  ·   ·  Flag as inappropriate

        I still don't understand how in a supposed "pay for what you use" system, we have to pay not only for idle time, but even for the time the app is deployed, running or not.

      • lars prahllars prahl commented  ·   ·  Flag as inappropriate

        Would be most helpful for applications that on a scheduled basis (nightly) only needs to email reports and status updates - a max 15 minute job.

      • Ben CallisterBen Callister commented  ·   ·  Flag as inappropriate

        I cannot express enough how important and needed this feature is for software frameworks/platforms (best designed around cloud platforms). Also, note that there are a handful of other top posted issues that are basically requesting the same thing. MS - please offer this soon!

      • Ben CallisterBen Callister commented  ·   ·  Flag as inappropriate

        i believe azure needs to go even further with this very important feature. customers should not have to pay for unused compute cycles - agreed. however, devs should be able to run their code *immediately*, when needed, avoiding the time cost of spinning up VMs, which takes minutes! if this was accomplished, then devs could provide *demand-scale* computational and algorithmic services! (e.g. think search engine - where you need N compute nodes NOW and you cant wait to spin up VMs). MS could offer this by having several VMs already running, and devs simply write a Task class that gets executed within N existing VM instances (as specified by dev, based on demand). MS would track the execution time on the VM and charge accordingly. however, once complete, the VM is available for the next customer to run their Task. this would not only achieve what others have desired on this thread, but would also enable *immediate* scale, on demand. PLEASE offer this!

      • JohnHadjJohnHadj commented  ·   ·  Flag as inappropriate

        This would really make Azure the platform of choice.
        If a worker consumed processor resources only when it was needed and was "swapped out" when idle for a (configurable) time, it would make lightly used or periodically apps cheaper to host.

      • eslsyseslsys commented  ·   ·  Flag as inappropriate

        Agree with all the comments below supporting this call, we need far greater control of worker roles. In essence, the worker role as it is now is 'anti-scalability' as we are paying for a worker role 24/7/365 that is redundant most of the time

      • George BellGeorge Bell commented  ·   ·  Flag as inappropriate

        I have a role that only processes something once a day, for 20 minutes....yet I got charged for it aall 24 hours - this is ridiculous...make it possible to only run a role during certain times...that way you can provision them for a short amount of time each day and we don't get charged as much for doing nothing...

      • hogihogi commented  ·   ·  Flag as inappropriate

        We need to run different nightly batches and it would be great if we could use worker roles for this. We have it working currently but we have our worker roles sleeping for 23 hours and 59 minutes and working for 1 minute but we have to pay for 24 hours..... It looks like Azure is not going to work for us since it will be WAY TOO expensive. MS are you listening? Maybe time to switch to Amazon, Rackspace etc????

      • Ray SmithRay Smith commented  ·   ·  Flag as inappropriate

        Seems absolutely insane that this has not been provided. This has to be delivered for nightly polling worker roles to be cost effective on Azure platform. Is this purely an attempt by the MS Sales team to make money? Surely an MS Evangelist or Developer spotted this as being a big barrier.

      • Dave BacherDave Bacher commented  ·   ·  Flag as inappropriate

        Seems like it would be relatively easy to write a service that crossed .NET Terrarium (download an assembly and run it in an already warm instance) and crontab (schedule jobs to run at a particular time).

        While it would be better if Microsoft did it, someone could write a service that allowed you to zip a control file and a .NET assembly. The control file would indicate the desired 4 hour block to schedule it in, and would also contain any necessary API URL's and keys.

        The service would fire up at the start of a four hour block, and download 16 jobs to do. It would run each job, in turn, and if the job took longer than 15 minutes, it would be terminated.

        Then you sell that service to the 315 people asking for this at some reasonable price.

        (note: you could also sell the remaining hours on a compute-hour basis using a similar approach..)

      ← Previous 1

      Knowledge Base and Helpdesk