Comments (2)
Are you using Ruby 2.0 or higher? If so, what may be happening is the code is opening a connection to Pg first, then calling daemonize, then trying to use the connection. In Ruby 2.0+, sockets are close-on-exec by default, which means the connection to Pg is getting closed during the fork.
The simplest solution is to open connections after daemonizing, but you may have to rework some error-reporting code because you probably expect the process to exit 1 on the command line if it cannot talk to Pg.
This doesn't happen with sqlite because it will (re)open a local file handle when it needs to (I think - this would match the symptoms).
from daemons.
You are right. I suspected that, but couldn't quite put my finger on it. Thank you.
from daemons.
Related Issues (20)
- Monitored daemon with multiple=false improperly runs multiple times HOT 1
- OSX hangs on close_io HOT 8
- Failure to install development dependency pry-byebug with '~> 0' version constrain HOT 4
- Stopping daemon log file error? HOT 4
- apps inherit app_name even when new name is specified HOT 1
- Windows: fork() function is unimplemented on this machine (NotImplementedError) HOT 5
- Specify number of processes HOT 3
- Where is the documentation? HOT 1
- run many workers HOT 2
- Run n Instances of a script parallelly in background and kill all of them when needed.
- Run script files in background (as daemons) HOT 2
- Turns out delayed_job was executing a job causing a segmentation fault, which would kill the delayed_job daemon. HOT 1
- Why parent process does not care about child
- Detatch doesn't consider external logging
- Question: Semantic Versioning HOT 2
- Make working directory compatible with macOS Catalina
- `daemons` always exits with zero
- Problematic behavior when handling TERM Signal
- NoMethodError: undefined method `positive?' for 20:Fixnum
- Zombie/Defunct process when monitoring using pidfiles
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from daemons.