Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Using custom pid and socket files path #69

Closed
smt116 opened this issue Jul 23, 2014 · 7 comments
Closed

Using custom pid and socket files path #69

smt116 opened this issue Jul 23, 2014 · 7 comments

Comments

@smt116
Copy link
Contributor

smt116 commented Jul 23, 2014

Is it possible to use custom pid and socket file? I saw EYE_PID environment variable, but path given by eye xinfo is different when eye is running from root and from user.

I want to be able to start eye on the user and then manage it from root :)

@kostya
Copy link
Owner

kostya commented Jul 23, 2014

why you cannot use it like this?
sudo -u user -H eye i

@smt116
Copy link
Contributor Author

smt116 commented Jul 23, 2014

I would like to do it without wrappers as it is some kind of "master" process which manages another processes on the machine. I saw in the source code that it is not possible, because eye adds a prefix even if you set EYE_PID to the /var/run/eye/eye.pid. I would like to also keep all pid files in one location.

Maybe there should not be any prefix for pid file path if the EYE_PID environment variable is present? what do you think?

@kostya
Copy link
Owner

kostya commented Jul 23, 2014

There is no auto pid_file like in God, you should just set /var/run/eye/some_process.pid for every process.

I think need little refactor method dir and home, for root case:
https://github.com/kostya/eye/blob/master/lib/eye/local.rb#L31

upd: seems understand about one location, you want all eye`s in one location (not processes)

@smt116
Copy link
Contributor Author

smt116 commented Jul 23, 2014

Yes, I mean pid file path and socket for the master process (not defined processes).

Take a look at:
https://github.com/kostya/eye/blob/master/lib/eye/local.rb#L49-L51
https://github.com/kostya/eye/blob/master/lib/eye/local.rb#L37-L39
https://github.com/kostya/eye/blob/master/lib/eye/local.rb#L7-L11

I can prepare a pull request. What do you think to allow user to set pid path from EYE_PID env var without dir prefix?

@kostya
Copy link
Owner

kostya commented Jul 23, 2014

i not really like EYE_PID, EYE_SOCK variables, its hack.

actually you already can use EYE_V variable, it was for test purposes, but you can use it for multiple eye's

[master] ~/projects/eye$ EYE_V=1 bundle exec eye l
Eye started! ㋡
[master] ~/projects/eye$ EYE_V=2 bundle exec eye l
Eye started! ㋡

and when you work under user, you should use it like this EYE_V=2 EYE_HOME=/var/run/eye/ eye i

@smt116
Copy link
Contributor Author

smt116 commented Jul 23, 2014

Yeah, but it is still a hack and I can not be sure that EYE_V will not be removed in future or if EYE_HOME will not be used somewhere else. I want to use it safely in production. I will probable add some wrapper and use sudo -u user -H eye i.

Still, do you have any plans to make these options configurable from Eye.config? I mean pid and socket paths for "master" process. Do you think that this is a good approach for project?

We are moving from god to something else and I found eye. Looks really nice 👍 :). Anyway, thanks for your time

@kostya
Copy link
Owner

kostya commented Jul 24, 2014

Using Eye.config not good idea, because eye can even started without config, and then
load config.

Yes now i see, that dir for root really hacky, need to refactor it, to use EYE_HOME variable. (we not used eye with root)

@kostya kostya closed this as completed in adcbb7e Jul 24, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants