Every software team has have to deal with processes development, execution and planning. Normally we use cron jobs for this issue. Most of the times these tasks become really tough due to different difficulties:
- Impossibility to modularize functionalities. We end writing giant processes with hundreds of lines that do a lot of stuff.
- Lack of dependencies between processes. If we want to execute one process after another we have to “trust” that the first one has ended by the time that the second one has to start.
- Completly ignorance of what is going on. It is almost impossible (unless you specifically develop it.) to know when something failed in your processes. It is usual to check every day long logs to know if something went wrong.
- High maintenance and development costs. The workflows ends becoming a messy group of processes very hard to mantain and difficult to evolve.
Due to this problematic, Runnerty was born on 2016. Having tested Airflow from Airbnb and Luigi from Spotify both of them were not deep enough for most of the needs. We found that they were made for one concrete solution and we wanted something wider which any developer could use.
Runnerty main features:
- Real dependencies. Let to establish dependencies between processes. Not just to wait until the previous processes has ended. It supports complex dependencies, for example when a process fails, retires, or also evaluate a process output to decide what to do, etc.
- Modularization. Runnerty provides an ecosystem which allows us to configure processes without coding any line, just adding modules and configuring them.
- Get notified whenever you want. It also provides notifiers modules which allows you to know everything of your processes and workflows. You can get advised when a processes fails, or when a workflow starts or ends.
- Easy and powerful. From a simple task to a huge workflow with hundreds of processes. Runnerty is so easy to develop with that you can build your first workflow in minutes. And thanks to the modularization, you can create complex workflows reducing dramatically the development time.
- Historization. Do you want to know what happened with your workflow last month? or how much have increased the execution time of any process?. It is possible to connect runnerty to a database to store all the data of your workflows executions.
- Centralization. Forget about having your passwords, keys or access tokens in you code or replied in dozens of processes. With runnerty you can have them centralized. And not only passwords, also params, paths, etc. Furthermore, you can have them encrypted!
- In the right place at the right time. Execute your workflows whenever you want or from wherever you want. You can plan you workflows using the runnerty trigger modules. They let you to execute your workflows at an specific time, or when a file is left in a directory, even when you have a new follower on twitter. Moreover, Runnerty provides an API to execute, stop or force a workflows remotely.
These are just some of the Runnerty features, there are a few more that makes really easy to schedule a workflow with Runnerty.
Do you want to know more?
If you found this article iteresting, then I really encourage you to read more and have a look to the official documentation:
- Build a twitter bot with runnerty in 5 minutes: https://medium.com/runnerty/build-a-twitter-bot-with-runnerty-in-less-than-5-minutes-2ea45fe87ca1
- Introducing Runnerty: https://medium.com/runnerty/introducing-runnerty-1284c3e5d1b1
- Official documentation: http://docs.runnerty.io