New shards proocodile is here!

Procodile


Running & deploying Ruby apps to places like Viaduct & Heroku is really easy but running processes on actual servers is less fun. Procodile aims to take some the stress out of running your Ruby/Rails apps and give you some of the useful process management features you get from the takes of the PaaS providers.

Procodile is a bit like Foreman but things are designed to run in the background (as well as the foreground if you prefer) and there’s a supervisor which keeps an eye on your processes and will respawn them if they die.

Procodile works out of the box with your existing Procfile.


This is a Crystal fork for Ruby(original) version, with some minor bug fixes.

Although most of the process is just copying/pasting, But, It’s still not an easy process.

Please help to test it.

  1. full features work as expected.
  2. the MacOS prebuild version is works.

image

image

Check release page for download precompiled binary.

Hi, procodile 1.0.20 is there.

Although it’s just a small version upgrade, but usability has been greatly improved.

Before this version, there a issue has been ongoing for a long time, the process log output is not print(yes, i use my this procodile fork in the production for years, but without process log output …)

I ask some questions in the form for help (links may be incomplete)

Some of them answered, some of them not, but all of them give me lots of inspiration from those discussion, but, no process log output issue always is there, no any progress, porting a ruby gem over 2000 LOC is not easy.

Certainly, I know it now, this issue related to many things, Fiber, Channel, Socket, Process, Serialize … etc, I even couldn’t find where is the real issue is when I asked the question.

Anyway, i fixed it, there are many refactor work need to be done in following weeks, but at least, the functionality compare to orignal ruby version is complete.

Welcome try it, and give me feedback, thanks!


BTW: special thanks to David Yoteau, it mention this tool in his talk for CrystalConf 2023, even at that time, there was no process log output, it’s let me know there is someone else using it besides me, this is my source of drive me going on.

Announcing procodile 2.0.0-rc1

I’m happy to announce procodile 2.0.0-rc1, a major new release with more than 130 commits since the previous version.

This is a very significant update for several reasons:

  1. This is the first procodile release to include a full implementation of the original Ruby version.
  2. It also fixes many bugs and edge cases that existed in the original Ruby version.

At the same time, the 2.0 release substantially improves on the original Ruby version and introduces several new features that were not available before:

  1. .env file support for loading environment variables, powered by lucky_env by @jwoertink.
  2. Scheduled task support, a major addition that allows you to manage both long-running processes and scheduled jobs in one place. Thanks to cron_parser by @kostya, it supports not only the standard five crontab fields, but also second-level cron scheduling..
  3. Runtime Issues, which provide immediate command-line feedback when problems are detected after a command finishes.

Please refer to the Wiki for well-organized, comprehensive documentation.