> What if you
> cd trunk
> python setup.py install

I did
python setup.py install

and got
NameError: global name 'log' is not defined

The details are below

running install
running bdist_egg
running egg_info
writing requirements to src/supervisor.egg-info/requires.txt
writing src/supervisor.egg-info/PKG-INFO
writing namespace_packages to src/supervisor.egg-info/namespace_packages.txt
writing top-level names to src/supervisor.egg-info/top_level.txt
writing dependency_links to src/supervisor.egg-info/dependency_links.txt
writing entry points to src/supervisor.egg-info/entry_points.txt
Traceback (most recent call last):
  File "setup.py", line 89, in ?
    entry_points = {
  File "/usr/lib/python2.4/distutils/core.py", line 149, in setup
    dist.run_commands()
  File "/usr/lib/python2.4/distutils/dist.py", line 946, in run_commands
    self.run_command(cmd)
  File "/usr/lib/python2.4/distutils/dist.py", line 966, in run_command
    cmd_obj.run()
  File "/usr/lib/python2.4/site-packages/setuptools/command/install.py",
line 76, in run
    self.do_egg_install()
  File "/usr/lib/python2.4/site-packages/setuptools/command/install.py",
line 92, in do_egg_install
    self.run_command('bdist_egg')
  File "/usr/lib/python2.4/distutils/cmd.py", line 333, in run_command
    self.distribution.run_command(command)
  File "/usr/lib/python2.4/distutils/dist.py", line 966, in run_command
    cmd_obj.run()
  File "/usr/lib/python2.4/site-packages/setuptools/command/bdist_egg.py",
line 167, in run
    self.run_command("egg_info")
  File "/usr/lib/python2.4/distutils/cmd.py", line 333, in run_command
    self.distribution.run_command(command)
  File "/usr/lib/python2.4/distutils/dist.py", line 966, in run_command
    cmd_obj.run()
  File "/usr/lib/python2.4/site-packages/setuptools/command/egg_info.py",
line 171, in run
    self.find_sources()
  File "/usr/lib/python2.4/site-packages/setuptools/command/egg_info.py",
line 252, in find_sources
    mm.run()
  File "/usr/lib/python2.4/site-packages/setuptools/command/egg_info.py",
line 306, in run
    self.add_defaults()
  File "/usr/lib/python2.4/site-packages/setuptools/command/egg_info.py",
line 333, in add_defaults
    rcfiles = list(walk_revctrl())
  File "/usr/lib/python2.4/site-packages/setuptools/command/sdist.py",
line 45, in walk_revctrl
    for item in ep.load()(dirname):
  File "/usr/lib/python2.4/site-packages/setuptools/command/sdist.py",
line 52, in _default_revctrl
    for path in finder(dirname,path):
  File "/usr/lib/python2.4/site-packages/setuptools/command/sdist.py",
line 98, in entries_finder
    log.warn("unrecognized .svn/entries format in %s", dirname)
NameError: global name 'log' is not defined



>
> ?
>
> On Fri, Sep 17, 2010 at 10:54 AM, <[email protected]> wrote:
>
>> > I think you can do this.
>> >
>> > svn co http://svn.supervisord.org/supervisor/trunk/
>> > easy_install trunk
>>
>> Thank you for the instructions.
>>
>> I got the following error:
>>  NameError: global name 'log' is not defined
>>
>> I am pasting below the whole message
>>
>>
>>
>> easy_install trunk
>> Processing trunk
>> Running setup.py -q bdist_egg --dist-dir
>> /websites/libraries/supervisord/trunk/egg-dist-tmp-CbiY56
>> Traceback (most recent call last):
>>   File "/usr/bin/easy_install", line 7, in ?
>>    sys.exit(
>>  File
>> "/usr/lib/python2.4/site-packages/setuptools/command/easy_install.py",
>> line 1670, in main
>>    with_ei_usage(lambda:
>>  File
>> "/usr/lib/python2.4/site-packages/setuptools/command/easy_install.py",
>> line 1659, in with_ei_usage
>>    return f()
>>  File
>> "/usr/lib/python2.4/site-packages/setuptools/command/easy_install.py",
>> line 1674, in <lambda>
>>    distclass=DistributionWithoutHelpCommands, **kw
>>  File "/usr/lib/python2.4/distutils/core.py", line 149, in setup
>>    dist.run_commands()
>>  File "/usr/lib/python2.4/distutils/dist.py", line 946, in run_commands
>>    self.run_command(cmd)
>>  File "/usr/lib/python2.4/distutils/dist.py", line 966, in run_command
>>    cmd_obj.run()
>>  File
>> "/usr/lib/python2.4/site-packages/setuptools/command/easy_install.py",
>> line 211, in run
>>    self.easy_install(spec, not self.no_deps)
>>  File
>> "/usr/lib/python2.4/site-packages/setuptools/command/easy_install.py",
>> line 427, in easy_install
>>    return self.install_item(None, spec, tmpdir, deps, True)
>>  File
>> "/usr/lib/python2.4/site-packages/setuptools/command/easy_install.py",
>> line 471, in install_item
>>    dists = self.install_eggs(spec, download, tmpdir)
>>  File
>> "/usr/lib/python2.4/site-packages/setuptools/command/easy_install.py",
>> line 655, in install_eggs
>>    return self.build_and_install(setup_script, setup_base)
>>  File
>> "/usr/lib/python2.4/site-packages/setuptools/command/easy_install.py",
>> line 930, in build_and_install
>>    self.run_setup(setup_script, setup_base, args)
>>  File
>> "/usr/lib/python2.4/site-packages/setuptools/command/easy_install.py",
>> line 919, in run_setup
>>    run_setup(setup_script, args)
>>  File "/usr/lib/python2.4/site-packages/setuptools/sandbox.py", line 26,
>> in run_setup
>>    DirectorySandbox(setup_dir).run(
>>  File "/usr/lib/python2.4/site-packages/setuptools/sandbox.py", line 63,
>> in run
>>    return func()
>>  File "/usr/lib/python2.4/site-packages/setuptools/sandbox.py", line 29,
>> in <lambda>
>>    {'__file__':setup_script, '__name__':'__main__'}
>>  File "setup.py", line 89, in ?
>>  File "/usr/lib/python2.4/distutils/core.py", line 149, in setup
>>    dist.run_commands()
>>  File "/usr/lib/python2.4/distutils/dist.py", line 946, in run_commands
>>    self.run_command(cmd)
>>  File "/usr/lib/python2.4/distutils/dist.py", line 966, in run_command
>>    cmd_obj.run()
>>  File
>> "/usr/lib/python2.4/site-packages/setuptools/command/bdist_egg.py",
>> line 167, in run
>>    self.run_command("egg_info")
>>  File "/usr/lib/python2.4/distutils/cmd.py", line 333, in run_command
>>    self.distribution.run_command(command)
>>  File "/usr/lib/python2.4/distutils/dist.py", line 966, in run_command
>>    cmd_obj.run()
>>  File "/usr/lib/python2.4/site-packages/setuptools/command/egg_info.py",
>> line 171, in run
>>    self.find_sources()
>>  File "/usr/lib/python2.4/site-packages/setuptools/command/egg_info.py",
>> line 252, in find_sources
>>    mm.run()
>>  File "/usr/lib/python2.4/site-packages/setuptools/command/egg_info.py",
>> line 306, in run
>>    self.add_defaults()
>>  File "/usr/lib/python2.4/site-packages/setuptools/command/egg_info.py",
>> line 333, in add_defaults
>>    rcfiles = list(walk_revctrl())
>>  File "/usr/lib/python2.4/site-packages/setuptools/command/sdist.py",
>> line 45, in walk_revctrl
>>    for item in ep.load()(dirname):
>>  File "/usr/lib/python2.4/site-packages/setuptools/command/sdist.py",
>> line 52, in _default_revctrl
>>    for path in finder(dirname,path):
>>  File "/usr/lib/python2.4/site-packages/setuptools/command/sdist.py",
>> line 98, in entries_finder
>>    log.warn("unrecognized .svn/entries format in %s", dirname)
>> NameError: global name 'log' is not defined
>>
>> >
>> > On Fri, Sep 17, 2010 at 10:44 AM, <[email protected]> wrote:
>> >
>> >> > The changes for #1 are checked in to the trunk.  This addresses the
>> >> > immediate bug not closing FCGI sockets on reload.
>> >>
>> >> I would like to test the trunk version. How do I install that version
>> on
>> >> my Centos box; I am using easy_install.
>> >>
>> >> Thank you
>> >>
>> >>
>> >>
>> >> >
>> >> > Cheers,
>> >> >
>> >> > Roger
>> >> >
>> >> > On Thu, Sep 9, 2010 at 10:48 AM, Roger Hoover
>> >> > <[email protected]>wrote:
>> >> >
>> >> >> I currently see three options and I'm leaning toward number 1 but
>> >> >> welcome
>> >> >> input.
>> >> >>
>> >> >> 1) Always close the sockets when the number of processes in the
>> group
>> >> >> hits
>> >> >> zero and figure out a way to do graceful restarts later.  This
>> >> solution
>> >> >> is
>> >> >> simple and foolproof.
>> >> >>
>> >> >> 2) Create well defined process group hooks in Supervisor like
>> >> (something
>> >> >> like beforeStart, afterStart, beforeStop, afterStop,
>> beforeRestart,
>> >> >> afterRestart, etc or a way of registering a callback after an
>> async
>> >> >> event is
>> >> >> complete) so that process groups can implement custom behavior.
>> This
>> >> >> would
>> >> >> be great but would require a lot of refactoring.  There currently
>> >> isn't
>> >> >> a
>> >> >> single place in the code where this process group logic lives.
>> For
>> >> >> example,
>> >> >> if you stop a process group through supervisorctl, the RPC
>> interface
>> >> has
>> >> >> it's own logic for iterating through the processes in the group
>> and
>> >> >> stopping
>> >> >> them.  If you call 'reload' though supervisorctl, it puts
>> supervisord
>> >> >> into
>> >> >> the RESTARTING state which later triggers a different code path
>> for
>> >> >> stopping
>> >> >> all the processes in a group.  The scope of this task seems to big
>> >> for
>> >> >> me to
>> >> >> take on at this point.
>> >> >>
>> >> >> 3) Change the default behavior to close sockets when the reference
>> >> count
>> >> >> hits zero as in #1 but leave a hook in place so that in special
>> cases
>> >> it
>> >> >> does not get closed.  Conceptually, I like this and started down
>> this
>> >> >> path
>> >> >> but the implementation feels wrong.  As described in #2, there are
>> no
>> >> >> hooks
>> >> >> for handling process group level behavior which is why I've
>> resorted
>> >> to
>> >> >> reference counting in the first place.  Adding a function to the
>> >> >> reference
>> >> >> counter like "keep_socket_open_next_time_ref_count_hits_zero"
>> gives
>> >> off
>> >> >> an
>> >> >> odor of poor design.
>> >> >>
>> >> >> Cheers,
>> >> >>
>> >> >> Roger
>> >> >>
>> >> >>
>> >> >> On Thu, Sep 9, 2010 at 7:29 AM, Marco Vittorini Orgeas <
>> >> >> [email protected]> wrote:
>> >> >>
>> >> >>> On 09/07/2010 11:01 PM, Roger Hoover wrote:
>> >> >>>
>> >> >>>> Hi Marco,
>> >> >>>>
>> >> >>>> This looks like a case that I missed.  I need to look more
>> closely
>> >> at
>> >> >>>> why
>> >> >>>> it's happening so see if it requires a fundamental change to way
>> >> >>>> sockets
>> >> >>>> are
>> >> >>>> handled.  The current implementation doesn't close the socket
>> when
>> >> all
>> >> >>>> the
>> >> >>>> processes are stopped unless a group-level stop command was
>> issued.
>> >> >>>> The
>> >> >>>> idea here was to support graceful restarts.  If you have a
>> single
>> >> FCGI
>> >> >>>> process and want to restart it, should the FCGI socket get torn
>> >> down
>> >> >>>> and
>> >> >>>> recreated?  If so, there will be a small amount of time where
>> web
>> >> >>>> clients
>> >> >>>> are getting errors while the socket is down.  I may have to
>> change
>> >> it
>> >> >>>> to
>> >> >>>> always tear down the socket when the number of processes hit
>> zero
>> >> >>>> which
>> >> >>>> would require someone to always run at least two copies if you
>> want
>> >> >>>> graceful
>> >> >>>> restart.
>> >> >>>>
>> >> >>>> I'll keep you posted on what I find out.
>> >> >>>>
>> >> >>>> Thanks,
>> >> >>>>
>> >> >>>> Roger
>> >> >>>>
>> >> >>>
>> >> >>> Hi Roger!
>> >> >>>
>> >> >>> The idea to recycle sockets , also for allow graceful restarts is
>> >> >>> valuable.
>> >> >>>
>> >> >>> But at the moment it seems that as you said the sockets are not
>> turn
>> >> >>> down,
>> >> >>> and just looking at the exception thrown - I've not looking at
>> the
>> >> code
>> >> >>> yet
>> >> >>> sorry -
>> >> >>>
>> >> >>>
>> >> >>>  2010-09-04 10:05:53,366 INFO Creating socket
>> tcp://127.0.0.1:10005
>> >> >>>>
>> >> >>>>> Traceback (most recent call last):
>> >> >>>>>
>> >> >>>>
>> >> >>>   File "/usr/lib/python2.6/site-packages/supervisor/process.py",
>> >> line
>> >> >>>>
>> >> >>>>> 694, in __init__
>> >> >>>>>    raise ValueError('Could not create FastCGI socket %s: %s' %
>> >> >>>>> (self.socket_manager.config(), e))
>> >> >>>>> ValueError: Could not create FastCGI socket
>> tcp://127.0.0.1:10005
>> :
>> >> >>>>> [Errno 98] Address already in use
>> >> >>>>>
>> >> >>>>
>> >> >>>
>> >> >>> svd is trying to re-create a socket binding it to the same tcp
>> >> >>> address:port.
>> >> >>> It's stepping on its toes , because the tcp address is already
>> bind!
>> >> >>>
>> >> >>> In order to recycle it- sorry speaking again without looking at
>> the
>> >> >>> code -
>> >> >>> it should not try to create a new socket or whatsoever it does
>> that
>> >> >>> implies
>> >> >>> to re-create the socket !
>> >> >>>
>> >> >>> Anyway, I've switched to use local (i.e. unix) sockets and
>> reloading
>> >> >>> occurs without problems.
>> >> >>>
>> >> >>> Thank you for your support.
>> >> >>>
>> >> >>> --
>> >> >>> Marco Vittorini Orgeas
>> >> >>>
>> >> >>
>> >> >>
>> >> > _______________________________________________
>> >> > Supervisor-users mailing list
>> >> > [email protected]
>> >> > http://lists.supervisord.org/mailman/listinfo/supervisor-users
>> >> >
>> >>
>> >>
>> >>
>> >
>>
>>
>>
>


_______________________________________________
Supervisor-users mailing list
[email protected]
http://lists.supervisord.org/mailman/listinfo/supervisor-users

Reply via email to