需要程序在一定的时间后继续重新启动
问题描述:
我需要此程序在15分钟后重新启动,并重新执行其过程。我需要它在一个计时器上,所以它的示例动态启动15分钟,没有任何用户输入,它只会重置并重新启动并在Python shell中重新启动。需要程序在一定的时间后继续重新启动
from twython import Twython, TwythonError
import time
import random
from auth import (
consumer_key,
consumer_secret,
access_token,
access_token_secret
)
twitter = Twython(
consumer_key,
consumer_secret,
access_token,
access_token_secret
)
start_time = time.time()
search_results = twitter.search(q="lol", count=100)
try:
for tweet in search_results["statuses"]:
try:
st= tweet["entities"]["user_mentions"]
if st != []:
screen_name = st[0]["screen_name"]
twitter.create_friendship(screen_name = st[0]["screen_name"])
twitter.retweet(id = tweet["id_str"])
for name in bot_detectors:
if name == screen_name:
try:
twitter.destroy_friendship(screen_name = st[0]["screen_name"])
twitter.destroy_status(id = tweet["id_str"])
twitter.create_block(screen_name=name)
except TwythonError as e:
print (e)
答
除非你有非常具体的要求,这始终是更好地把重新启动脚本本身之外的脚本逻辑:
- 脚本更易于编写和测试(单官能度)
- 如果(由于任何原因包括程序错误)脚本崩溃它将在下次启动时自动重启
- 如果(由于任何原因包括程序错误)脚本在长时间使用越来越多的资源,它将释放前夕rithing每个站和会做每一个新的运行
- separation of concern被generaly看作是最佳实践
在类Unix系统中的一个新的开始,你会发现cron和crontab中,在Windows任务调度程序,所以它已经开箱即用,没有任何发展。
你为什么不考虑类似'cron'或'Windows Scheduler'?那些更灵活,你可以专注于业务逻辑? –
有关cron的更多详细信息,您绝对应该使用而不是依赖python计时器。 http://*.com/questions/15033542/crontab-formatting-every-15-minutes –