question

CasperRubaek avatar image
0 Votes"
CasperRubaek asked CasperRubaek edited

Job Scheduling in Azure

Does a service exist in Azure that can schedule jobs which is more flexible and advanced than Logic Apps (since Azure Scheduler is retired)?
The problem with Logic Apps is the following from my point of view:

  • Only 10 different run times can be defined for the specific Logic Apps one for each trigger, hence having lots of jobs needs creating lots of Logic Apps

  • Logic App dictates the details of the job, because it is static, hence making it inflexible for custom job types.

  • Management of jobs is not possible, because no database exists to get, add, update or delete jobs.

It is a problem I personally have when trying to schedule for instance generation of specific screenshots of a website at specific times, another common problem could be scheduling a job that should send an ICMP ping to a server.

I have designed a solution for Azure for these problems and before I implement that, I would like to know if a solution already exists natively in Azure as a service or if there is a demand for a solution.

Please provide feedback.


azure-logic-appsazure-scheduler
· 3
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

@CasperR-1809 Thank you for the question. We will review and update at the earliest.

0 Votes 0 ·

Just to clarify.

I am building a Screenshot API SaaS application that can service different customers with different schedules that can be set for different types of screenshot generation jobs.
A customer can set up many different screenshot generation schedules and should be able to manage them for example through an API and the schedule will then trigger a function app at the specified time.
Is this scenario possible in Azure without needing to create my own custom solution?

I have read the articles you provided and from my understanding none of them solve this scenario. They would be sufficient if less scheduling tasks were needed such as for company internal processes, but not for the SaaS scenario.

How do you schedule recurring jobs internally at Microsoft?


0 Votes 0 ·
CasperRubaek avatar image
0 Votes"
CasperRubaek answered CasperRubaek edited

Just to clarify.

I am building a screenshot API SaaS which needs to have the ability for customers to schedule automatic generation of screenshots. Therefore I need scheduled jobs such as Logic App. I have read the articles you provided and from my understanding it is not possible to create many different schedules without creating a logic app for each of those schedules? This would mean I would have a lot of unnecessary Logic Apps.

In addition I need to be able to give customers the ability to manage their schedules (Create, Read, Update, Delete).
Logic App would be fine if it were scheduling for company internal processes.

Can you clarify how the SaaS scenario would be possible for these requirements?
The only way I can see Logic App solving the issue is if I create a Logic App for each schedule, which obviously would be ineffeficient. For instance if I have 1000 customers with 10 schedules for different screenshots each, then I will need to provision 10000 Logic Apps.

How do Microsoft internally schedule advanced jobs in Azure infrastructure?

5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

JayaC-MSFT avatar image
0 Votes"
JayaC-MSFT answered CasperRubaek edited

Hello @CasperRubaek, in this case you may consider https://github.com/Azure/azure-quickstart-templates/tree/master/301-logicapps-jobscheduler

You can also consider Durable function { you may check other patterns , I am highlighting one }. You will have to do a lot of re work but you'll have the liberty to wait/sleep or implement other conditions as per requirement.


If this helps, please "Accept the answer" and "Up-vote" so that it helps others in the community.

· 1
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

@JayaC-MSFT

logicapp-jobscheduler will be too inefficient and difficult to manage to be useful since it will just create a ton of logic apps with each their own timer.

Durable Function does not provide management of already scheduled jobs, which does not satisfy the requirements I specified for a SaaS app with many different job schedules that need to be managed via an API.
On the contrary, it might be possible to inform the Durable Function of when to run a specific job based on a scheduled time in a SQL database that it will inquire before running. However this does not seem like a good solution.

How do Microsoft internally schedule Azure infrastructure jobs as well as enterprise customers?
My conclusion so far would be that I need to create a complete Job scheduling solution from scratch using servicebus scheduled messages, but it seems strange that a better offering does not exist.

Logic App is fine for simple internal company job scheduling, but not for SaaS type of systems.

0 Votes 0 ·