Using Hangfire on Kentico SaaS project

Hi there!

I'm looking to implement some potentially heavy scheduled jobs in XbyK using Hangfire (there are some requirements around history of execution, flexibility, etc which make default Kentico scheduled jobs not a good fit). Though the project is going to be hosted on SaaS. Does anyone have experience implementing it that way? Any potential pitfalls you can share or it works just fine with no extra config or code required compared to the private cloud deployment?

Dmitry

Tags:
SaaS Environments Integrations

Answers

I explored this before Xperience had scheduled tasks.

The primary challenge was that Xperience's administration UI middleware pipeline is not open for extension. This means you can't plug Hangfire's dashboard UI into Xperience's administration authentication schemes (cookies). Users accessing it would need to login even if they already logged into the Xperience admin, and you would need to write that auth code.

Another option, which wasn't realistic at the time but might be now, is to rebuild Hangfire's UI in Xperience's administration UI components using your AI agent and Xperience by Kentico Labs: Admin Design Components to guide it in the design and UI patterns.

I realize you're aware of this, but for any other readers - adding Hangfire generates its own SQL tables that Xperience is unaware of - which means you would need to manage them across updates/deployments. You would also need to handle horizontal scale-out of app instances yourself.

Thanks Sean, that's all clear.

Just one thing, in case I want to use the same database, Hangfire asks for it's own connection string, in SaaS environment where the actual value is managed by Kentico, how can I configure Hangfire to use the same database as CMS?

To response this discussion, you have to login first.