A simple process manager for development & production

Applications are often made up from multiple processes that must be running in order for the application to run. Services like Heroku take the hassle out of running them but, if you’re on your own server or still in development, things are a different story. Procodile makes your life as a developer and a sysadmin better.

$ procodile start --foreground

16:13:41 system
| Procodile supervisor started with PID 24532
16:13:41 system
| Application root is /Users/swagman/Development/my-app
16:13:41 system
| Listening at /Users/swagman/Development/my-app/pids/procodile.sock
16:13:41 system
| Reloading configuration
16:13:41 web.1
| Started with PID 24548
16:13:41 worker.1
| Started with PID 24549
16:13:41 worker.2
| Started with PID 24550
16:13:41 cron.1
| Started with PID 24551
16:13:41 web.1
| => Puma starting in cluster mode...
16:13:42 web.1
| => * Version 3.12.0 (ruby 2.5.3), codename: Llamas in Pajamas
16:13:42 web.1
| => * Min threads: 5, max threads: 5
16:13:46 cron.1
| => Starting clock for 2 events: [ daily hourly ]
16:13:46 worker.1
| => Starting worker... waiting for jobs
16:13:46 worker.2
| => Starting worker... waiting for jobs
16:13:50 web.1
| => ::1 - - [26/Mar/2019:16:13:50 +0000] "GET /style.css HTTP/1.0" 302 - 0.2817
16:20:00 worker.1
| => [3871] Beginning execution of job 3871 with DownloadLatestTweets
16:20:00 worker.1
| => [3871] Downloaded 322 new tweets from 3 Twitter accounts
16:20:00 worker.1
| => [3871] Finished processing

Try it today. It’s jaw-some.

Here’s a few of the key features of Procodile which we think you’ll like. If not, oh well, it didn’t cost you anything and you’re in no worse a place than you were before. Go on, though, give it a try…

Works with standard Procfile files

If you’ve already got a Procfile in your application, you can get started straight away. If you need more flexibility, you can add an optional Procfile.options file to provide additional configuration.

Ideal for development & production

In development, you can easily run things in the foreground with debugging enabled but in production everything can run in the background with status monitoring built-in.

Handles process restarts gracefully

Procodile has a range of restart modes available to handle the graceful and appropriate restarting of underlying processes. This is ideal when running in production environments with deployment tools.

Environment-based configuration

Easily set environment variables to provide consistent configuration options for all running processes (or just use your own configuration tooling as needed).

Integrates with systemd

Easily link Procodile with systemd to ensure that your main supervisor process is started on boot and remains running at all times.

Easy process logging

Procodile captures STDOUT and STDERR output from your running processes and displays it on screen (in the foreground) or puts it into one or more log files (when in the background).

Who’s using the snappiest process manager?

We use Procodile here at aTech Media to develop and deploy all our applications. We use it in combination with systemd and our own monitoring solution to keep track of everything.

Website © 2019 Adam Cooke. All Rights Reserved.