On 1/24/15 12:32 AM, Joshua Root wrote:
On 2015-1-24 14:40 , William H. Magill wrote:
On Jan 23, 2015, at 2:36 AM, Joshua Root <[email protected]> wrote:

At 8:42 PM -0600 1/22/15, Ryan Schmidt wrote:
So launchd is launching apache too early. I believe there are some
keys one can use in a launchd plist that would affect when launchd
tries to launch a service. If you can find a launchd plist key/value
that fixes this issue, MacPorts could be enhanced to offer portfile
authors a way to use that key, or to use that key/value by default
even.
I'm not expert, but would the NetworkState key help?  See:

http://launchd.info/

Goto "Configuration", scroll down to "...Depending on Network Availability:"
We do have startupitem.netchange.
I'm confused.

The implication of "startupitem.netchange" :
"Cause the daemon to be restarted when a change in network state is detected."
                    
https://guide.macports.org/chunked/reference.startupitems.html

is different from "NetworkState"
"Setting this subkey to true will start the job when/while any network is/becomes 
available. Setting this subkey to false will start the job when/while all network 
connections are down."
                    http://launchd.info
Yes, it's not the same thing, but it would probably fix the problem that
started this thread.

And there is no indication on the guide.macports.org page as to what the output of 
"startupitem.netchange" might generate.

i.e. no translation between the syntax of launchd and startupitems.
It doesn't change how launchd handles the job, it simply adds
--restart-netchange to the arguments passed to daemondo.

As I've said many times in the past, the StartupItem code could really
use some love. Especially allowing jobs to not use daemondo if they
support running directly from launchd, and exposing more of launchd's
functionality.

- Josh
I agree, and I have hope that this thread might help me out with the same problem. Not just Apache, but two other important services also need manual kicks on startup (postgresql and fetchmail). At the same time, a number of other server processes also installed via MacPorts start up just fine every time.

Question: would this problem of Apache launching too early be influenced by DNS? For instance, I've got some named SSL certs on the machine in question, and if I try to start a backup off network without disabling the SSL conf, Apache chokes. So I'm thinking that maybe in normal production startup it's also not getting a response from the dns matching the name and the IP before Apache tries to start - or the secondary IP addresses haven't kicked in yet, or something along those lines.

I think I've heard it's possible to set various startup items to "early" or at some delayed timing, but I have no clue as to how that would be done. How early is "early"? Is there a way to start them in a series to insure everything kicks on in the proper order? How can we find out where these are failing to start?

Specifics, if you've got 'em, please.





_______________________________________________
macports-users mailing list
[email protected]
https://lists.macosforge.org/mailman/listinfo/macports-users

Reply via email to