0

私はpythonで自動化スイートを開発していますが、一定時間後に自動化スイートを停止する必要がある、つまり自動化スイートは規定の時間内に実行を完了する必要があると考えています。したがって、私の考えはメイン プログラムを起動することで、2 つのスレッド 1. オートメーション スイートと 2. タイマー スレッドを作成します。時間が経過する限り、2 番目のスレッドは最初の自動化スレッドを停止します。以下は、おそらく上記の要件を満たすサンプルコードです。

import threading
import time

class myThread (threading.Thread):
    def __init__(self, threadID, name):
        threading.Thread.__init__(self)
        self.threadID = threadID
        self.name = name

    def run(self):
        print "Starting " + self.name
        if self.threadID==1:
            self.timeout(60)            
        else:
            self.Automation_Suite("XYZ")
        print "Exiting " + self.name

    def timeout(self,delay):        
        while delay!=0:
            time.sleep(1)
            delay=delay-1

    def Automation_Suite(self,name):
        count=500000
        while count!=0:
            print name
            count=count-1

# Create new threads
thread1 = myThread(1, "Thread-1")
thread2 = myThread(2, "Thread-2")

# Start new Threads
thread1.start()
thread2.start()
if not thread1.is_alive():
    thread2.join()

print "Exiting Main Thread"

しかし、上記のコードは機能せず、無限にループしています。要件を満たすより良い解決策を提案してください。

ありがとう、プリヤンク・シャー

4

1 に答える 1