679

So today I discovered that there's a cron job that holds non-reproducible state that died, and now our system is fucked.

The cron job doesn't live inside any source control. This morning it entered a terminal state, and because it overwrites its state there's no way to revert it.

I'm currently waiting for the database rollback and have rewritten it in a reproducible/idempotent way.

you are viewing a single comment's thread
view the rest of the comments
[-] swab148@lemm.ee 7 points 1 week ago

Me running all my services in tmux

[-] Sherry@programming.dev 4 points 1 week ago

that might be a stupid question, but why would you running all services in tmux be a bad idea? a co-worker of mine is doing exactly that right now, which is why I'm asking.

[-] swab148@lemm.ee 4 points 1 week ago

It's not horrible, like it'll do the job just fine, it's just probably a better idea to use systemd and like, containers and whatnot, but I couldn't be arsed to fiddle with all that for Jellyfin, caddy reverse proxy, and two modded Minecraft servers, so shell scripts and tmux won the day. It takes a little extra time to restart everything after an update, and maybe I'll get the motivation to do things "correctly™" one day, but today is not that day.

[-] mosiacmango@lemm.ee 6 points 1 week ago* (last edited 1 week ago)

Use the tmux resurrect plugin. It will restore your tmux session to its previous state after a restart, including programs if you like.

You can put off doing things "correctly™" even longer.

The "here's how you keep doing this poorly but more efficiently" energy on display here is a refreshing change of pace from the usual "here's how you do this correctly" crap peddled by normies (including me). You have my respect.

[-] mosiacmango@lemm.ee 4 points 1 week ago

If you're going to do something wrong, do it wrong right.

[-] Sherry@programming.dev 2 points 1 week ago

thank you very much for the detailed response :)

[-] qaz@lemmy.world 2 points 1 week ago* (last edited 1 week ago)
  1. They're all gone when you restart
  2. It doesn't properly deal with logging
  3. You can't set up dependencies between services but that doesn't matter due to point 1

I recommend using systemd services and/or docker compose instead. systemd services are files that describe which program / script to run and when (like after networking is active or after a certain other service is loaded).

[-] qaz@lemmy.world 1 points 1 week ago
this post was submitted on 16 Apr 2025
679 points (100.0% liked)

Programmer Humor

22836 readers
635 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS