目标:每天在两次随机时间运行一个函数。
所以,我写了这个函数来随机生成一个时间(请提供关于如何简化的反馈。无法在现有的包中找到它 - 它必须已经存在......)
def gen_rand_time(low, high):
hour = np.random.randint(low, high)
minute = np.random.randint(1,59)
if minute < 10:
time = str(hour)+':'+str(0)+str(minute)
return time
else:
time = str(hour) + ':' + str(minute)
return time
接下来我定义了我想要运行的函数。保持简洁。
def test(a):
print('TEST: ' + str(a))
现在我想定期运行这个交汇点。我使用计划包。
def run_bot():
time1 = str(gen_rand_time(18,19))
print(time1)
schedule.every(1).days.at(time1).do(test('TEST WORKED'))
while True:
schedule.run_pending()
time.sleep(1)
run_bot()
当我运行run_bot()并在近期投入时间(例如,将来1分钟)时,test()函数返回“TEST:TEST WORKED”而不等待指定的随机时间。
答案 0 :(得分:1)
您应该尝试... do(test,'TEST WORKED')
而不是... do(test('TEST WORKED'))
,请参阅this。
此外,您似乎无法对low
和high
使用相同的值(我想知道您是否真的尝试过发布的内容)。