Random "pythonw.exe hat aufgehört zu arbeiten" Absturz

SO,

Den code in der Frage ist die folgende, allerdings kann es zufällig passieren, auf andere Skripte zu (ich glaube nicht, der Fehler liegt im code)

Aus irgendeinem Grund, völlig zufällig, es manchmal abstürzt und öffnet sich, "pythonw.exe hat aufgehört zu arbeiten", könnte es sein, nach 5 Stunden, 24 Stunden oder 5 Tage... ich kann nicht herausfinden, warum es zum Absturz zu bringen.

from datetime import date, timedelta
from sched import scheduler
from time import time, sleep, strftime
import random
import traceback

s = scheduler(time, sleep)
random.seed()

def periodically(runtime, intsmall, intlarge, function):

    currenttime = strftime('%H:%M:%S')

    with open('eod.txt') as o:
        eod = o.read().strip()
        if eod == "1":
            EOD_T = True
        else:
            EOD_T = False

    while currenttime >= '23:40:00' and currenttime <= '23:59:59' or currenttime >= '00:00:00' and currenttime <= '11:30:00' or EOD_T:
        if currenttime >= '23:50:00' and currenttime <= '23:59:59':
            EOD_T = False
        currenttime = strftime('%H:%M:%S')
        print currenttime, "Idling..."
        sleep(10)
        open("tca.txt", 'w').close

    open("tca.txt", 'w').close

    runtime += random.randrange(intsmall, intlarge)
    s.enter(runtime, 1, function, ())
    s.run()

def execute_subscripts():

    st = time()
    print "Running..."

    try:
       with open('main.csv'):
           CSVFile = True
    except IOError:
        CSVFile = False

    with open('eod.txt') as eod:
        eod = eod.read().strip()
        if eod == "1":
            EOD_T = True
        else:
            EOD_T = False

    if CSVFile and not EOD_T:
        errors = open('ERROR(S).txt', 'a')

        try:
            execfile("SUBSCRIPTS/test.py", {})
        except Exception:
            errors.write(traceback.format_exc() + '\n')
            errors.write("\n\n")

        errors.close()

    print """ %.3f seconds""" % (time() - st)

while True:
    periodically(15, -10, +50, execute_subscripts)

Weiß jemand, wie ich herausfinden kann warum es abstürzt oder wissen warum und kennen einen Weg, um es zu beheben?

Dank

- Hyflex

  • Durch die Art und Weise, genau, welche version von Python 2.7 benutzt du? Und wenn Sie können, versuchen Sie, auf die jeweils neueste freigegebene version.
  • Ich bin mit version 2.7.5
InformationsquelleAutor Ryflex | 2013-11-29
Schreibe einen Kommentar