Git Product home page Git Product logo

Comments (7)

krallin avatar krallin commented on June 13, 2024 2

Yes, I'm planning to merge it. I've just been a little busy lately and haven't had enough time to dedicate to Tini, but I'll be doing a release soon including #75 and #107.

from tini.

nixx avatar nixx commented on June 13, 2024

I did a shot at it here:

nixx@37826b8

I won't make a pull request, since I'm not even close to write good enough C.

from tini.

krallin avatar krallin commented on June 13, 2024

I think this is reasonable to add as long as I can keep the implementation minimal (in fact I've run into exactly this issue myself with Elasticsearch).

I'm not a huge fan of parsing an ENV variable for this, and I'd rather for this to be a CLI flag (for now I've reserved ENV vars for things that you'd want to be able to configure even if you're not directly writing the code that starts Tini).

Implementation-wise, I'm probably going to rely on a bitfield representing all possible exit codes and whether they should be re-mapped to 0. This will avoid dynamic memory allocation, and use very little memory overall (we only need 256 bits total to represent this).

from tini.

krallin avatar krallin commented on June 13, 2024

Still a bit of polishing to do, but here's what I had in mind: expect-status-code You'd use the -e flag to ignore a given exit code.

from tini.

ghaiklor avatar ghaiklor commented on June 13, 2024

@nixx @krallin we've faced the same issue, but with Marathon and Kubernetes.

Our Java component runs as a daemon, listens for messages from RabbitMQ and processes them. Everything works great, except the case, when we need to stop this daemon via deleting the Pod. As we know, orchestrator triggers SIGTERM in such cases and waits for process dies.

The problem is that JVM handles SIGTERM and exits with code 128 + 15 (SIGTERM) = 143 which is not 0, obviously. So, Kubernetes decides to start this Pod again (backoff), thinking that the last time process died abnormally.

My question here is, do you have any plans on merge the PR which allows to map exit codes to 0?
Or, there is another solution for such cases?

from tini.

drobiazko avatar drobiazko commented on June 13, 2024

@krallin this are awesome news. Kudos to you for maintaining this project even after it was included in Docker itself. Do you have an ETA for the release?

from tini.

krallin avatar krallin commented on June 13, 2024

Probably this week. That said, if you have an urgent need to use either of these features, building Tini yourself is not particularly complex (and documented in the README).

from tini.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.