Sha256: 1f643e0d7623fbb291ebf7f67f840fd678870b3219be6f785e0b4eef63a5c163

Contents?: true

Size: 1.82 KB

Versions: 3

Compression:

Stored size: 1.82 KB

Contents

# Unicorn Migration Guide

While Pitchfork started out as a patch on top of Unicorn, many Unicorn features
that don't make sense in containerized environments were removed to simplify the codebase.

This guide is intended to cover the most common changes you need to make to your configuration
in order to make the switch.

> [!NOTE]
> This document doesn't contain every incompatibility with Unicorn. If you encounter
additional incompatibilities, please open an Issue or a Pull Request to add your findings.

* The configurations `user`, `working_directory`, `stderr_path`, `stdout_path`, and `pid`
have been removed without replacement. Pitchfork is designed for modern deployment strategies
like Docker and Systemd, as such the responsibility for this functionality is delegated to
these systems.

* The configuration `preload_app` has been removed without replacement. Pitchfork will always behave
as if it is set to `true`.

* The Signal `USR2` has been repurposed for reforking. Remove `ExecReload` from your Sytemd unit
file, if it contains it. Reloading is not a supported feature of Pitchfork.

* The configuration `after_fork` has been split between `after_worker_fork` and `after_mold_fork`.

* If you use `unicorn-worker-killer` or similar gems, you will need to implement this functionally yourself since
there is no `pitchfork-worker-killer`. Changes to Pitchfork internals make this a pretty painless
ordeal, you can check out the following GitHub issue to get started: https://github.com/Shopify/pitchfork/issues/92

## Reforking

[Reforking](REFORKING.md) is Pitchfork's main selling point. Give [Refork Safety](FORK_SAFETY.md#refork-safety) a read to understand
if your application may be compatible. [Enabling reforking](CONFIGURATION.md#refork_after) will give you memory savings above what Unicorn
is able to offer with its forking model.

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
pitchfork-0.16.0 docs/MIGRATING_FROM_UNICORN.md
pitchfork-0.15.0 docs/MIGRATING_FROM_UNICORN.md
pitchfork-0.14.0 docs/MIGRATING_FROM_UNICORN.md