看到一些难以复制的东西。
简而言之,我将文件中的链接读入列表:
with open(filename) as f:
LinkList = f.readlines()
此列表中的每个位置都有一个设定点。这些文件是静态的,所以它们不会改变。
site1 = LinkList[1]
site2 = LinkList[2]
site3 = LinkList[3]
这将包含指向该站点的链接或“x”以指示该站点不需要运行。
要跟踪线程是否正在运行,我使用1或0,所以我从
开始Site1running = 0
Site2running = 0
Site3running = 0
然后我启动线程,如果实际存在链接。原因是我可能稍后将其设置为0并生成一个新线程再次运行。下一部分循环并启动线程开始,如果它们设置为'0',将在稍后重新启动它们。
if True:
if "google.com" in site1:
if Site1running == 0:
Site1running = 1
GoogleThread = Thread(target = CheckGoogle)
GoogleThread.start()
if "Bing.com" in site2:
if Site2running == 0:
Site2running = 1
BingThread = Thread(target = CheckBing)
BingThread.start()
99%的时间都有效。但是,当我第一次启动剧本时,我发现了一个奇怪的问题。
它正在加载相同的文件。它正在读取文本文件并使链接正常。但它会随机错过启动其中一些线程。不会开始线程的开始,也不会在以后开始。
启动和停止它几次似乎让它工作,所以我假设这是某种时间问题。如果先没有其他事情发生,它有时会启动线程。
似乎发生了越来越多的网站被使用,往往是列表中的更多网站。
真正令人愤怒的部分是启动和停止修复它的事实。它将启动所有线程并在以后继续重新启动它们。
如果有人能对此有所了解,我会非常感激。我唯一能想到的就是在时间上扼杀它。睡觉因为一些奇怪的计时问题是唯一合适的东西。逻辑上我不明白为什么,但我不明白为什么启动和停止它会改变任何东西。