qiandao icon indicating copy to clipboard operation
qiandao copied to clipboard

修改了几行代码,设置为每天0点开始签到。

Open WoChen5770 opened this issue 5 years ago • 33 comments

文件:/web/handlers/task.py 第9行下新增一行 import datetime 108行下新增 next = int(time.mktime(time.strptime(str(datetime.date.today()), '%Y-%m-%d'))) if time.localtime().tm_hour >= 16: next = next+16*60*60+24*60*60 else: next = next+16*60*60 119行下新增 self.db.task.mod(task['id'], next = next) 130行 修改为 next = next)

文件:worker.py 168-170修改为 next = int(time.mktime(time.strptime(str(datetime.date.today()), '%Y-%m-%d'))) if time.localtime().tm_hour >= 16: next = next+16*60*60+24*60*60 else: next = next+16*60*60

如果想为了前端显示准确时间 可以设置 libs/utils.py 第53行: full_format=True 这样的话,在页面上点击立即签到,或者是新增签到,下一次签到时间都是下一天0点 自动签到失败还是保留原来的隔段时间重试

希望能够帮到你们,如有错误 请指正

WoChen5770 avatar Sep 01 '19 15:09 WoChen5770

1 2 3

微信图片_20190901231404

WoChen5770 avatar Sep 01 '19 15:09 WoChen5770

老大,能贴个修改后的代码图吗,修改过微信提醒,按照你的教程,一直无限重启,有的行数应该和你的不一样

jjss520 avatar Sep 03 '19 00:09 jjss520

老大,能贴个修改后的代码图吗,修改过微信提醒,按照你的教程,一直无限重启,有的行数应该和你的不一样

已经补图。这个修改是针对于服务器是utc时区的,如果已经是北京时间了 那么上面的 next = int(time.mktime(time.strptime(str(datetime.date.today()), '%Y-%m-%d'))) if time.localtime().tm_hour >= 16: next = next+16*60*60+24*60*60 else: next = next+16*60*60 直接为 next = int(time.mktime(time.strptime(str(datetime.date.today()), '%Y-%m-%d'))) + 24*60*60 就可以了

WoChen5770 avatar Sep 03 '19 02:09 WoChen5770

修改时区后还是提示错误,无法启用,不知道哪里出错了

hunter8605 avatar Sep 03 '19 04:09 hunter8605

修改时区后还是提示错误,无法启用,不知道哪里出错了

如果修改了启动不了,估计你是代码可能哪里漏了括号什么的。

WoChen5770 avatar Sep 03 '19 04:09 WoChen5770

worker.py 和task.py里的时区都修改了,括号也检查了,代码都是复制粘贴上去的,还是不行呢? QQ截图20190903123750

QQ截图20190903123837

QQ截图20190903123927

hunter8605 avatar Sep 03 '19 04:09 hunter8605

worker.py 和task.py里的时区都修改了,括号也检查了,代码都是复制粘贴上去的,还是不行呢? QQ截图20190903123750

QQ截图20190903123837

QQ截图20190903123927

看起来似乎是没错,启动报什么错?

WoChen5770 avatar Sep 03 '19 06:09 WoChen5770

Docker 容器:qiandao 意外停止。

有几个签到我设置的是每隔6小时,或者12小时,不是每天签到,不知道是不是这个原因

hunter8605 avatar Sep 03 '19 06:09 hunter8605

修改时区后还是提示错误,无法启用,不知道哪里出错了

如果修改了启动不了,估计你是代码可能哪里漏了括号什么的。

只修改 libs/utils.py 第53行: full_format=True这里,能正常启动

hunter8605 avatar Sep 03 '19 06:09 hunter8605

搞定,谢谢分享

jjss520 avatar Sep 03 '19 06:09 jjss520

Docker 容器:qiandao 意外停止。

有几个签到我设置的是每隔6小时,或者12小时,不是每天签到,不知道是不是这个原因

有可能是间隔的问题,建议新开一个容器试试。你上面那个大兄弟也成功了

WoChen5770 avatar Sep 03 '19 07:09 WoChen5770

有些时候可能论坛时间存在短时间的误差,会导致签到没签上。如果我想改成凌晨1点或者0点过5分,应该怎么改呢?

skypjsfly avatar Sep 03 '19 07:09 skypjsfly

有些时候可能论坛时间存在短时间的误差,会导致签到没签上。如果我想改成凌晨1点或者0点过5分,应该怎么改呢?

+24*60*60 就是加一天 想多过5分 就再加5*60 以此内推

WoChen5770 avatar Sep 03 '19 08:09 WoChen5770

有些时候可能论坛时间存在短时间的误差,会导致签到没签上。如果我想改成凌晨1点或者0点过5分,应该怎么改呢?

+24*60*60 就是加一天 想多过5分 就再加5*60 以此内推

next = int(time.mktime(time.strptime(str(datetime.date.today()), '%Y-%m-%d'))) + 246060 + 5*60

这样吗?

jjss520 avatar Sep 03 '19 08:09 jjss520

这样不会导致签到周期变成24小时5分钟么?

skypjsfly avatar Sep 03 '19 08:09 skypjsfly

int(time.mktime(time.strptime(str(datetime.date.today()), '%Y-%m-%d')))

这样不会导致签到周期变成24小时5分钟么?

周期还是24小时

WoChen5770 avatar Sep 03 '19 11:09 WoChen5770

老哥,现在用了你的方法,所以签到都零点开始,有没有方法把其中某一个签到,改在定时开始,比如有一个签到我要8点开始签到,请问一下,有什么办法?可以解决

jjss520 avatar Sep 06 '19 03:09 jjss520

老哥,现在用了你的方法,所以签到都零点开始,有没有方法把其中某一个签到,改在定时开始,比如有一个签到我要8点开始签到,请问一下,有什么办法?可以解决

提供个思路 把“签到间隔”改成“每天签到时间” 因为我改成每天0点后 签到间隔就是多余的字段了,正好可以 改为每天签到时间

WoChen5770 avatar Sep 07 '19 04:09 WoChen5770

mark

iamvicliu avatar Sep 07 '19 19:09 iamvicliu

老哥,现在用了你的方法,所以签到都零点开始,有没有方法把其中某一个签到,改在定时开始,比如有一个签到我要8点开始签到,请问一下,有什么办法?可以解决

提供个思路 把“签到间隔”改成“每天签到时间” 因为我改成每天0点后 签到间隔就是多余的字段了,正好可以 改为每天签到时间

请问具体怎么改啊,能举一个例子吗?

hunter8605 avatar Sep 14 '19 11:09 hunter8605

求助大佬,我的时区好像已经是CST了,但网页里还是提示“预计下次签到时间”为 2019-9-15 8:00:00

这个是怎么回事呀?

———————— 两处都改为了这句话: next = int(time.mktime(time.strptime(str(datetime.date.today()), '%Y-%m-%d'))) + 246060

———————— date -R Sun, 15 Sep 2019 01:56:35 +0800

date Sun Sep 15 01:56:37 CST 2019

我也按照这个帖子的方法对服务器重新对时了: —— Linux/CentOS下的CST和UTC时间的区别以及不一致的解决方法 - wangmj518的专栏 - CSDN博客 https://blog.csdn.net/wangmj518/article/details/49683305

iamvicliu avatar Sep 14 '19 17:09 iamvicliu

老哥,现在用了你的方法,所以签到都零点开始,有没有方法把其中某一个签到,改在定时开始,比如有一个签到我要8点开始签到,请问一下,有什么办法?可以解决

提供个思路 把“签到间隔”改成“每天签到时间” 因为我改成每天0点后 签到间隔就是多余的字段了,正好可以 改为每天签到时间

请问具体怎么改啊,能举一个例子吗?

计算下次签到时间时加上模版的“签到间隔”

WoChen5770 avatar Sep 16 '19 07:09 WoChen5770

求助大佬,我的时区好像已经是CST了,但网页里还是提示“预计下次签到时间”为 2019-9-15 8:00:00

这个是怎么回事呀?

———————— 两处都改为了这句话: next = int(time.mktime(time.strptime(str(datetime.date.today()), '%Y-%m-%d'))) + 24_60_60

———————— date -R Sun, 15 Sep 2019 01:56:35 +0800

date Sun Sep 15 01:56:37 CST 2019

我也按照这个帖子的方法对服务器重新对时了: —— Linux/CentOS下的CST和UTC时间的区别以及不一致的解决方法 - wangmj518的专栏 - CSDN博客 https://blog.csdn.net/wangmj518/article/details/49683305

试一下一楼的改法

WoChen5770 avatar Sep 16 '19 07:09 WoChen5770

求助大佬,我的时区好像已经是CST了,但网页里还是提示“预计下次签到时间”为 2019-9-15 8:00:00 这个是怎么回事呀? ———————— 两处都改为了这句话: next = int(time.mktime(time.strptime(str(datetime.date.today()), '%Y-%m-%d'))) + 24_60_60 ———————— date -R Sun, 15 Sep 2019 01:56:35 +0800 date Sun Sep 15 01:56:37 CST 2019 我也按照这个帖子的方法对服务器重新对时了: —— Linux/CentOS下的CST和UTC时间的区别以及不一致的解决方法 - wangmj518的专栏 - CSDN博客 https://blog.csdn.net/wangmj518/article/details/49683305

试一下一楼的改法

用一楼的改法,OK了。 作为一个对code一知半解的产品汪,就先这么用吧~~ (^▽^)

iamvicliu avatar Sep 16 '19 11:09 iamvicliu

喔,难道是因为docker内的容器,是独立的系统,需要重新设定时区?

我上面的方法只是对主机自己设定了时区

iamvicliu avatar Sep 16 '19 11:09 iamvicliu

果然如此。 找到了解决办法

修改docker时区 - 哎幽的成长 - CSDN博客 https://blog.csdn.net/u012373815/article/details/52782807

iamvicliu avatar Sep 16 '19 11:09 iamvicliu

老哥,现在用了你的方法,所以签到都零点开始,有没有方法把其中某一个签到,改在定时开始,比如有一个签到我要8点开始签到,请问一下,有什么办法?可以解决

提供个思路 把“签到间隔”改成“每天签到时间” 因为我改成每天0点后 签到间隔就是多余的字段了,正好可以 改为每天签到时间

请问具体怎么改啊,能举一个例子吗?

计算下次签到时间时加上模版的“签到间隔”

大佬。想做下伸手党,签到间隔的数值存储在哪里? 在task 和 worky里可以直接调用么?

iamvicliu avatar Sep 16 '19 11:09 iamvicliu

老哥,现在用了你的方法,所以签到都零点开始,有没有方法把其中某一个签到,改在定时开始,比如有一个签到我要8点开始签到,请问一下,有什么办法?可以解决

提供个思路 把“签到间隔”改成“每天签到时间” 因为我改成每天0点后 签到间隔就是多余的字段了,正好可以 改为每天签到时间

请问具体怎么改啊,能举一个例子吗?

计算下次签到时间时加上模版的“签到间隔”

大佬。想做下伸手党,签到间隔的数值存储在哪里? 在task 和 worky里可以直接调用么?

签到间隔是 tpl['interval'],签到任务是task表,里面有个tplid字段。 具体实现方法 应该是 通过task的tplid去查tpl表得到tpl['interval']数值。 作者已经写了相关的查询方法,在代码里直接调用即可

WoChen5770 avatar Sep 17 '19 03:09 WoChen5770

老哥,现在用了你的方法,所以签到都零点开始,有没有方法把其中某一个签到,改在定时开始,比如有一个签到我要8点开始签到,请问一下,有什么办法?可以解决

提供个思路 把“签到间隔”改成“每天签到时间” 因为我改成每天0点后 签到间隔就是多余的字段了,正好可以 改为每天签到时间

请问具体怎么改啊,能举一个例子吗?

计算下次签到时间时加上模版的“签到间隔”

大佬。想做下伸手党,签到间隔的数值存储在哪里? 在task 和 worky里可以直接调用么?

签到间隔是 tpl['interval'],签到任务是task表,里面有个tplid字段。 具体实现方法 应该是 通过task的tplid去查tpl表得到tpl['interval']数值。 作者已经写了相关的查询方法,在代码里直接调用即可

大神能举个例子吗,不会些代码,只能傻瓜化的举一反三

hunter8605 avatar Sep 17 '19 06:09 hunter8605

老哥,现在用了你的方法,所以签到都零点开始,有没有方法把其中某一个签到,改在定时开始,比如有一个签到我要8点开始签到,请问一下,有什么办法?可以解决

提供个思路 把“签到间隔”改成“每天签到时间” 因为我改成每天0点后 签到间隔就是多余的字段了,正好可以 改为每天签到时间

请问具体怎么改啊,能举一个例子吗?

计算下次签到时间时加上模版的“签到间隔”

大佬。想做下伸手党,签到间隔的数值存储在哪里? 在task 和 worky里可以直接调用么?

签到间隔是 tpl['interval'],签到任务是task表,里面有个tplid字段。 具体实现方法 应该是 通过task的tplid去查tpl表得到tpl['interval']数值。 作者已经写了相关的查询方法,在代码里直接调用即可

大神能举个例子吗,不会些代码,只能傻瓜化的举一反三 举个例子不就相当于我帮你改好了,这东西不用反三。 等有时间我改一下发上来

WoChen5770 avatar Sep 18 '19 01:09 WoChen5770