Is there a way to set an application name for unicorn processes? Basically an arbitrary name which would then show up in the process list to identify unicorn processes, like what thin does with --tag. I''m running unicorn for several apps on the same host and finding it hard to track which is which, also useful for various monitoring scripts to ensure that X number of processes are running. --Paul
On 7/8/10 1:55 PM, Paul Dlug wrote:> Is there a way to set an application name for unicorn processes? > Basically an arbitrary name which would then show up in the process > list to identify unicorn processes, like what thin does with --tag.A patch to do something like that was recently rejected. Instead the documentation was updated with Eric''s recommendated solution to instance identification: http://rubyforge.org/pipermail/mongrel-unicorn/2010-July/000620.html + Using an absolute path for for CONFIG_FILE is recommended as it + makes multiple instances of Unicorn easily distinguishable when + viewing ps(1) output.
Devin Ben-Hur <dbenhur at whitepages.com> wrote:> On 7/8/10 1:55 PM, Paul Dlug wrote: >> Is there a way to set an application name for unicorn processes? >> Basically an arbitrary name which would then show up in the process >> list to identify unicorn processes, like what thin does with --tag. > > A patch to do something like that was recently rejected. Instead the > documentation was updated with Eric''s recommendated solution to instance > identification: > http://rubyforge.org/pipermail/mongrel-unicorn/2010-July/000620.html > > + Using an absolute path for for CONFIG_FILE is recommended as it > + makes multiple instances of Unicorn easily distinguishable when > + viewing ps(1) output.Lawrence Pit also recommends running each app as a separate user, which is also a great idea (IMHO, though some ops people I know dislike this): http://mid.gmane.org/4C32926D.5080400 at gmail.com -- Eric Wong
On Thu, Jul 8, 2010 at 5:42 PM, Eric Wong <normalperson at yhbt.net> wrote:> Devin Ben-Hur <dbenhur at whitepages.com> wrote: >> On 7/8/10 1:55 PM, Paul Dlug wrote: >>> Is there a way to set an application name for unicorn processes? >>> Basically an arbitrary name which would then show up in the process >>> list to identify unicorn processes, like what thin does with --tag. >> >> A patch to do something like that was recently rejected. Instead the >> documentation was updated with Eric''s recommendated solution to instance >> identification: >> http://rubyforge.org/pipermail/mongrel-unicorn/2010-July/000620.html >> >> + ? ?Using an absolute path for for CONFIG_FILE is recommended as it >> + ? ?makes multiple instances of Unicorn easily distinguishable when >> + ? ?viewing ps(1) output. > > Lawrence Pit also recommends running each app as a separate user, > which is also a great idea (IMHO, though some ops people I know > dislike this): > > ? http://mid.gmane.org/4C32926D.5080400 at gmail.comI think both of these solutions are undesirable, relying on the config file path is not ideal and running with different users is practical in my environment. Both these point out the need for some feature to distinguish running applications, I think adding a configurable application name/tag would be very useful, not sure how much work it would be but I can look at adding a patch if there is interest. --Paul
On Thu, Jul 8, 2010 at 10:09 PM, Paul Dlug <paul.dlug at gmail.com> wrote:> On Thu, Jul 8, 2010 at 5:42 PM, Eric Wong <normalperson at yhbt.net> wrote: >> Devin Ben-Hur <dbenhur at whitepages.com> wrote: >>> On 7/8/10 1:55 PM, Paul Dlug wrote: >>>> Is there a way to set an application name for unicorn processes? >>>> Basically an arbitrary name which would then show up in the process >>>> list to identify unicorn processes, like what thin does with --tag. >>> >>> A patch to do something like that was recently rejected. Instead the >>> documentation was updated with Eric''s recommendated solution to instance >>> identification: >>> http://rubyforge.org/pipermail/mongrel-unicorn/2010-July/000620.html >>> >>> + ? ?Using an absolute path for for CONFIG_FILE is recommended as it >>> + ? ?makes multiple instances of Unicorn easily distinguishable when >>> + ? ?viewing ps(1) output. >> >> Lawrence Pit also recommends running each app as a separate user, >> which is also a great idea (IMHO, though some ops people I know >> dislike this): >> >> ? http://mid.gmane.org/4C32926D.5080400 at gmail.com > > I think both of these solutions are undesirable, relying on the config > file path is not ideal and running with different users is practical > in my environment. Both these point out the need for some feature to > distinguish running applications, I think adding a configurable > application name/tag would be very useful, not sure how much work it > would be but I can look at adding a patch if there is interest.The patch was already submitted and rejected. If you want this feature, you can implement it yourself in the config file with the following code: class Unicorn::HttpServer def proc_name(tag) $0 = ([ File.basename(START_CTX[0]), "application name/tag", tag ]).concat(START_CTX[:argv]).join('' '') end end Jeremy