有没有可能让这个.py脚本每20分钟超时一次,然后自动运行?你知道吗
目前我正在使用crontab每20分钟重新运行一次,但问题是它有时会运行多个.py,而实际上不会重新运行程序。我只希望它每20分钟重新运行一次,而不是每20分钟重新运行另一个实例。你知道吗
#!/usr/bin/env python
from TwitterFollowBot import TwitterBot
my_bot = TwitterBot("/home/TwitterFollowBot/config.txt")
my_bot.sync_follows()
my_bot.auto_unfollow_nonfollowers()
my_bot.auto_rt("@RtwtKing", count=2000)
my_bot.auto_rt("@ShoutGamers", count=2000)
你有几种方法可以做到这一点。 如果您只想使用Python,您可以:
包装解决方案示例:
我们的目标是创建一个新的python脚本,它将处理计时器,以便在需要时执行Twitter代码。你知道吗
1。更新当前代码以将其封装在方法中
假设您当前的文件名为
core.py
core.py
:这只是让你的代码在一个函数中,并添加一个日志行打印当前时间时,函数被执行。你知道吗
2。制作一个包装器来处理计时器并调用你的twitter代码
wrapper.py
:输出为
DELTA = 10
和SLEEP_TIME = 5
(核心.py每10秒调用一次,每5秒检查一次):这种方法唯一的优点是不能同时启动同一个进程两次。因为它不是异步的,
get_feed
不能被调用两次,但是如果get_feed
比SLEEP_TIME
或DELTA
花费更多的时间,您将错过一些调用,因此不要每20分钟运行一次最后一件事,因为要在
wrapper.py
中导入core.py
,所以必须在同一文件夹中创建一个__init__.py
文件,而不是其他两个文件。(/path/to/project/
应该包含__init__.py
(空)、core.py
和wrapper.py
)。你知道吗真正好的方法是创建一个守护进程,但它需要更多的技能。你知道吗
相关问题 更多 >
编程相关推荐