在Python漫游器中,如何每天仅运行一次函数?

时间:2019-11-01 03:45:32

标签: python python-3.x praw

我有一个运行PRAW for Reddit的Python机器人。它是开源的,因此用户可以安排该机器人以任何频率运行(例如,使用cron)。它可能每10分钟或每6个小时运行一次。

我在该机器人中具有特定功能(我们将其称为check_logs),该功能不应运行该机器人的每次执行,而应该每天运行一次。该机器人没有数据库。

有没有一种方法可以在Python中完成而无需外部数据库/文件?

2 个答案:

答案 0 :(得分:0)

通常来说,使用外部数据库或文件更好(也更容易)。但是,如果您绝对需要它,您也可以:

  1. 修改脚本本身,例如将最后运行的日期存储在脚本的最后一行注释掉的位置。
  2. 将最后一次更新的日期存储在网络上,例如,在您的情况下,它可以是Reddit帖子或google文档或草稿电子邮件或类似Pastebin的网站等。
  3. 更改脚本本身的“修改日期”,并将其用作参考。

答案 1 :(得分:0)

如果您使用的是cron,则可以使用command line arguments来运行它。

然后在cron中定义。 python3 main.py daily用于日常运行,python3 main.py frequent用于其他版本。

我正在这样做,目前为止效果最佳。