被 Cron 的执行搞迷糊了!

2014 年 8 月 9 日
 chaoyj
SAE环境下,需要每分钟执行一次数据库操作。
配置好Cron文件。
日志返回GET /cron HTTP/1.0 301 0 "-" "SAE/cron-nooffset"
但是执行就是不成功(数据库无操作)。

把代码最简化:
from mysite.shelves.models import record
def test(request):
into = record(itemid='111',recordtime = '2014-08-14 19:30:59',recordinfor ='cron do it',plan_id='9')
into.save()
依然不行。

网上寻找的答案普遍反映是环境和变量的问题。
我不知道该怎么办了!
4498 次点击
所在节点    问与答
22 条回复
izoabr
2014 年 8 月 9 日
那你有没有排除掉环境变量的问题呢?
chaoyj
2014 年 8 月 9 日
@izoabr 因为担心变量问题,所以把代码中变量都换成常量测试。
clino
2014 年 8 月 9 日
@chaoyj 楼上说的是环境变量,不是你代码里的变量
chaoyj
2014 年 8 月 9 日
@clino 整个执行过程中没有涉及到环境变量的问题。
chaoyj
2014 年 8 月 9 日
返回HTTP 为什么会是301呢!
izoabr
2014 年 8 月 9 日
@chaoyj 你这个应该是用了django的框架吧,看是不是from mysite导入record的时候就导入不进来,找不到。
你试试脚本里写个测试文件,测试下成功状态的返回是不是200,301可能是失败跳转。
churchmice
2014 年 8 月 9 日
感觉就是$PATH之类的玩意没设好
juicy
2014 年 8 月 9 日
我最近也有遇到crontab的环境变量问题, 还特意写了篇小文章 http://melon.github.io/blog/2014/08/08/env-for-crontab/ , 没有研究过楼主所用的语言, 但愿文章会对你有点帮助
jakes
2014 年 8 月 9 日
页面应该没有正常访问。你自己访问一下网页看一下正不正常。
chaoyj
2014 年 8 月 9 日
自己访问完全正常,就是丢到Cron里运行不起来。
chaoyj
2014 年 8 月 9 日
@izoabr
from mysite 已经注释掉了
现在文件只有一句:
def test(request):
into='hello'

自己访问200正常,但是SAE的日志中心都是301.
urls.py中如果注释掉信息的话,会正常返回404。

这也太奇怪了吧,没有变量,为什么会是301呢!
chaoyj
2014 年 8 月 9 日
@juicy 谢谢,我看下
izoabr
2014 年 8 月 9 日
@chaoyj 你这个URL是不是走了django的中间件啊?中间件是不是有要求他做认证之类的?你自己用wget命令试一下在没有任何cookie和session之类的环境试试。
em70
2014 年 8 月 10 日
定时器的权限和shell是不一样的,检查一下
ivanlw
2014 年 8 月 10 日
这个Cron和crontab是一个东西吗
ccbikai
2014 年 8 月 10 日
贴出cron配置看看
chaoyj
2014 年 8 月 10 日
@ccbikai
name: jdao
version: 1

cron:
- description: test
url: /test
schedule: every 1 mins
clino
2014 年 8 月 10 日
建议在cron里把stdio都重定向到log文件估计就明白了,注意stderr也要重定向
niseter
2014 年 8 月 10 日
输出cron的执行结果分析下原因
chaoyj
2014 年 8 月 10 日
!!!!!!!
搞定
!!!!!!!

地址匹配少写了一个/

导致和django的urls.py匹配不同,导致了301跳转。


大意害死人!!!

感谢以上热心朋友的帮助!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/126974

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX