Daemon loses __file__ reference after a while

Discussion in 'Python' started by ivdneut@gmail.com, Jul 24, 2012.

  1. Guest

    Hello all,

    I have a deamon process that runs for some considerable time (weeks) without any problems. At some point it starts throwing the following exception:

    File "/some/path/scheduler.py", line 376, in applyrule
    result = execrule(rule_code)
    File "/some/path/scheduler.py", line 521, in execrule
    rulepath = os.path.dirname(__file__)+"/"+'/'.join(rule['modules'])+"/"+rule['rulename']
    NameError: name '__file__' is not defined

    This section is executed *all the time* but somehow stops working after a while. I have searched the web and this group, but can only find references to this occurring when run interactively, which is not the case here. When I restart the process the problem, at least temporarily, disappears.

    I am running the script in a virtual-env on a stock Red Hat EL 6.2 installation:

    (my-env)[user@host ~]$ python --version
    Python 2.6.6
    (my-env)[user@host ~]$ cat /etc/redhat-release
    Red Hat Enterprise Linux Server release 6.2 (Santiago)

    Thank you very much in advance for any pointers as to where to start looking to find the problem.

    Ian.

    (If this post occurs twice, I apologize. Google groups was complaining about my post taking long to process and to wait a few minutes and try again ifit didn't show up, which as far as I can determine, it didn't.)
    , Jul 24, 2012
    #1
    1. Advertising

  2. Laszlo Nagy Guest

    On 2012-07-24 14:17, wrote:
    > Hello all,
    >
    > I have a deamon process that runs for some considerable time (weeks) without any problems. At some point it starts throwing the following exception:
    >
    > File "/some/path/scheduler.py", line 376, in applyrule
    > result = execrule(rule_code)
    > File "/some/path/scheduler.py", line 521, in execrule
    > rulepath = os.path.dirname(__file__)+"/"+'/'.join(rule['modules'])+"/"+rule['rulename']
    > NameError: name '__file__' is not defined

    It is not a direct solution to your problem, but can you save the value
    of os.path.dirname(__file__) into another variable?
    Laszlo Nagy, Jul 24, 2012
    #2
    1. Advertising

  3. Guest

    On Tuesday, July 24, 2012 2:29:19 PM UTC+2, Laszlo Nagy wrote:
    > On 2012-07-24 14:17, wrote:
    > > Hello all,
    > >
    > > I have a deamon process that runs for some considerable time (weeks) without any problems. At some point it starts throwing the following exception:
    > >
    > > File "/some/path/scheduler.py", line 376, in applyrule
    > > result = execrule(rule_code)
    > > File "/some/path/scheduler.py", line 521, in execrule
    > > rulepath = os.path.dirname(__file__)+"/"+'/'.join(rule['modules'])+"/"+rule['rulename']
    > > NameError: name '__file__' is not defined
    > It is not a direct solution to your problem, but can you save the value
    > of os.path.dirname(__file__) into another variable?



    That might be a workaround that I'm seriously pondering as well.

    Thank you.

    Ian.

    (sorry for google messing up my posts)
    , Jul 24, 2012
    #3
  4. Guest

    On Tuesday, July 24, 2012 2:29:19 PM UTC+2, Laszlo Nagy wrote:
    > On 2012-07-24 14:17, wrote:
    > > Hello all,
    > >
    > > I have a deamon process that runs for some considerable time (weeks) without any problems. At some point it starts throwing the following exception:
    > >
    > > File "/some/path/scheduler.py", line 376, in applyrule
    > > result = execrule(rule_code)
    > > File "/some/path/scheduler.py", line 521, in execrule
    > > rulepath = os.path.dirname(__file__)+"/"+'/'.join(rule['modules'])+"/"+rule['rulename']
    > > NameError: name '__file__' is not defined
    > It is not a direct solution to your problem, but can you save the value
    > of os.path.dirname(__file__) into another variable?



    That might be a workaround that I'm seriously pondering as well.

    Thank you.

    Ian.

    (sorry for google messing up my posts)
    , Jul 24, 2012
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. klenwell

    __file__ vs __FILE__

    klenwell, Nov 3, 2007, in forum: Python
    Replies:
    11
    Views:
    919
    Matimus
    Nov 5, 2007
  2. Jean-Paul Calderone
    Replies:
    0
    Views:
    451
    Jean-Paul Calderone
    Mar 20, 2009
  3. Floris Bruynooghe
    Replies:
    1
    Views:
    448
    Floris Bruynooghe
    Mar 24, 2009
  4. Daemon Win32::Daemon;

    , Sep 7, 2006, in forum: Perl Misc
    Replies:
    0
    Views:
    249
  5. Replies:
    8
    Views:
    288
    Ian Kelly
    Jul 24, 2012
Loading...

Share This Page