python flask如何实现指定时间执行函数
PHP中文网
PHP中文网 2017-04-17 17:13:53
0
5
449

网站普通会员,到期时间为2016.3.1
他在今天2016.2.15购买了高级会员3个月
那么就需要在2016.3.1当天执行一个函数,更新此会员的数据库信息,更改他的会员版本号,更新他的到期时间

那么如何实现会员购买成功之后,写一段语句让后台在2016.3.1当天执行更新数据库呢?

求大神指点迷津


最后我在user表里增加了两个字段,更换的版本号,更换的到期时间
用户在原有版本未到期的情况下购买其他版本,先往user表里写入这两个字段
然后用户登陆的时候判断是否到期,如果到期了则更新用户的版本号和到期时间,清空更换的版本号和更换的到期时间

没有用到定期执行,不太懂这个怎么实现,就先这么做了,谢谢回答的几位~~

PHP中文网
PHP中文网

认证0级讲师

reply all (5)
Ty80

update: 了解了题主的需求后,已经为题主贡献了一套方案。详见评论区。


Flask 做不到这个吧。

况且,假如有 N 个会员,那你怎么办?轮询整个数据库?

而且每个会员的到期日期都不一样,你怎么让脚本在 N 个不同日期点上执行?

我觉得搞复杂了。

当一个用户购买了高级会员后,肯定会有个时长,肯定也就有了到期日。直接存在数据库里不就好了吗?至于会员版本号,可以直接存,也可以动态获取。

要不然,就定时查询数据库里所有已经到期的会员,更新这些记录的字段值。而不是在会员的到期日时再执行脚本更新记录。

不过这样也犯不着啊。

    伊谢尔伦

    只用flask是做不到的→_→

    不过你可以用linux的cron服务

      小葫芦

      一个解决方案是定期任务更新数据库

      部分数据库产品支持

      使用脚本定期更新也不是很困难

      web框架里 tornado 有定期任务

        黄舟

        用celery的周期性任务,每天执行一次,每次将今天到期的会员更新

          大家讲道理

          celery可以搞定这个事情。

            Latest Downloads
            More>
            Web Effects
            Website Source Code
            Website Materials
            Front End Template
            About us Disclaimer Sitemap
            php.cn:Public welfare online PHP training,Help PHP learners grow quickly!