In the previous post about Topshelf and Quartz.NET I mentioned that there is a chance to configure the inversion of control container instead of manually pointing which implementation we want to use. In this post, I will explain how to do just that, using a few popular inversion of control containers – Ninject and StructureMap. If you prefer any other container, please let me know. I’ll do my best to include it here.
I often work on applications whose sole task is to execute a script at certain time or day. You may approach it in several ways, eg.: Task Scheduler (Windows), SQL Job (if it is a SQL task) or CRON in Linux. You may also write application, which would run in background and execute a script at certain time. The only question is – do you really want do it?
In this post, I would like to introduce other solution to tasks like this. The combination of two frameworks: Topshelf (Windows host) and Quartz.NET (free-for-business company Task Scheduler).
How often in your code do you see ifs checking whether the object is not null? Often? Very often? What would happen if you didn’t have to check it out? Surely code would be easier to maintain – no ifs = no test cases. This can all be achieved using Null Object pattern.
Null Object pattern should be used as a substitute for objects which don’t exists in the runtime or you don’t know current state of the object. You may apply it, however, bear in mind that it’s not suitable for all test scenarios. You’ve to analyze whether it’s a good idea to use it.
Amazon Web Services CloudSearch is a search engine and it’s offered in a SaaS model (as well as Elasticsearch what I’ve already explained here). I’m currently writing an article about it so I’ll skip the way how to set it up and how it works. Unfortunately, CloudSearch isn’t free. It doesn’t cost much if you take a look at everything what you get. For more information on pricing check here.
There’s few issues with CloudSearch. One of them is the fact that there’s no easy way to clear search domain. AWS CLI has no such feature. At StackOverflow, I managed to find scripts for Java, NodeJS, PHP or bash.