exodus-stock/automatonv1.py
2022-04-06 14:56:09 +07:00

64 lines
1.7 KiB
Python

import threading
import time
import subprocess
file_symbol=open("symbols.txt","r")
symbols=file_symbol.read().splitlines()
#print(symbols)
symbols = [x.strip(' ') for x in symbols]
#symbols=symbols[:-5]
class myThread (threading.Thread):
def __init__(self, threadID):
threading.Thread.__init__(self)
self.threadID = threadID
#self.name = name
#self.counter = counter
def run(self):
print("Starting Thread Number %s"%self.threadID)
# Get lock to synchronize threads
#threadLock.acquire()
#self.status="idle"
while len(symbols)!=0:
#self.status="busy"
self.symbol=symbols.pop(0)
self.job=subprocess.call(['gnome-terminal','-x','taskset','-c',str(self.threadID),'python3','main_model.py',self.symbol,"800"])
time.sleep(99999)
print("Prediction for %s done"%self.symbol)
print("Job for Thread Number %s done"%self.threadID)
#print_time(self.name, self.counter, 3)
# Free lock to release next thread
#threadLock.release()
def print_time(threadName, delay, counter):
while counter:
time.sleep(delay)
print("%s: %s" % (threadName, time.ctime(time.time())))
counter -= 1
#threadLock = threading.Lock()
threads = []
for numberID in range(0,len(symbols)-1,1):
thread = myThread(numberID)
thread.start()
threads.append(thread)
#threadID += 1
# Create new threads
#thread1 = myThread(1, "Thread-1", 1)
#thread2 = myThread(2, "Thread-2", 2)
# Start new Threads
#thread1.start()
#thread2.start()
# Add threads to thread list
#threads.append(thread1)
#threads.append(thread2)
# Wait for all threads to complete
for t in threads:
t.join()
print("Exiting Main Thread")