【发布时间】:2015-02-18 13:17:29
【问题描述】:
我的问题是关于如何在 Pyramid Python 框架中执行一个简单的任务?
我有一张包含用户生日的表格,我想每天检查某人的生日是否即将到来,如果是,则打印一个简单的问候语。
所以我在views.py中定义了一些东西:
def print_greetings():
tomorrow = datetime.date.today()+datetime.timedelta(days=1)
users = sess.query(User).filter(func.DATE_FORMAT(User.bday, "%d_%m")==tomorrow.strftime("%d_%m")).all()
if len(users) > 0:
for u in users:
print("Happy Birthday", u.name)
所以问题是: 我应该如何以及在哪里写一些东西来每天执行一次这个函数?
UPD:我需要从 Pyramid 应用程序运行任务,像 cron 这样的外部工具不是我要找的东西。
也许某种计时器会执行 print_greetings()?并且在执行之后会启动一个新的定时器实例?
【问题讨论】:
-
使用你的“in Pyramid”方法,一旦你超越了在你的开发机器上使用 pserve 服务应用程序,事情会变得有点有趣。生产网络服务器通常会产生多个“工作”进程/线程,然后可以随时终止或重新产生。除了正常的请求/响应周期之外,工作人员实际上不应该做任何事情。
标签: python scheduled-tasks pyramid