I finally got around to getting package updates and some refactoring I've been meaning to do, and it was harder than it had to be. The refactor was messing with code I wrote possibly as long as 20 years ago. I had it in my head, long before I would actually run stuff in the cloud, that I would need to figure out how to cache bust settings when they changed across nodes. This is a solved problem in a general sense, but the settings were different because I store them as a bunch of rows of key-value pairs, all text. So to load them, after they're fetched from the database (or cache), the code has to cycle through them all and convert them to integers or booleans or whatever as necessary. I obviously don't want to do that on every settings call, which happens a lot. I was also doing singletons wrong, from before dependency injection was ever really on my radar. Yeah, this stuff was ancient.
The other thing is that .Net v9 was just released, so I'm trying to update the many packages and such for that. It's not going super well. As usual, the Azure Functions project, which does background stuff like reindex topics for search, is broken as hell. For some reason it won't map all of the dependencies. There's no obvious reason. All of the tooling around functions has been substandard for years, and it's frustrating. But when it's running, it's great because it runs tens of thousands of times a month for a few pennies, not bogging down the web app.
It's just a lot to change at once, and I should know better letting it rot for so long. On the positive side, all of my build and deploy pipelines are working like a champ. That saves so much time.
No comments yet.