V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
fearme
V2EX  ›  Python

用 cru 定时命令运行 Python 脚本没输出

  •  
  •   fearme · 2017-06-11 12:27:26 +08:00 · 4056 次点击
    这是一个创建于 2713 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我在路由器上想定时跑个 py 脚本
    就用 cru 命令加了下定时任务,2 每隔 20 分钟跑下

    cru a jdprice "*/20 * * * * python3 /opt/etc/jd_price.py"

    这个脚本实际上就是启动后爬我设定的几个京东页面,抓价格后存盘到 /opt/etc/jd_price.json
    然后脚本启动的时候也会载入 这个 json

    可是问题来了

    不使用 cru 定时命令 而直接运行 python3 /opt/etc/jd_price.py,我的 py 文件是能正确运行写配置文件的

    而是用 cur 定时命令,这个 jd_price.json 不会被更新

    有人知道为什么么。。。现在是在 python 脚本里面写 time.sleep(1200) 的一个 while 死循环,觉得好蠢。。。
    第 1 条附言  ·  2017-06-11 19:46:15 +08:00
    补充下 如果我用 cru 定时一个简单的 py 是正常的,非常奇怪
    第 2 条附言  ·  2017-06-16 09:57:57 +08:00
    昨晚又试了一下,最简单的一个 json 文件,内容如下,实际里面有 9 条记录吧

    [
    {
    "sku_name": "MICHAEL KORS Mercer 包",
    "sku_id": "4853562",
    "cur_price": 2860,
    "low_price": 2100,
    "alert_price": 1900
    }
    ]

    我的 py 脚本就干了 2 个事情,把这个文件 loads 为 dict,然后把 dict 保存为另外一个 json 格式的文件

    然后在 cron 定时任务里面运行,就是无法生成保存的格式,打 log 也不全,神奇了
    17 条回复    2017-06-18 10:37:52 +08:00
    megachweng
        1
    megachweng  
       2017-06-11 13:08:07 +08:00 via iPhone
    一种办法解决不了,换另一个解决哪里蠢了。楼主加油,解决了 @一波
    mooncakejs
        2
    mooncakejs  
       2017-06-11 13:09:37 +08:00 via iPhone
    路口问题吧
    laoyuan
        3
    laoyuan  
       2017-06-11 14:42:00 +08:00
    用的相对地址?换绝对地址
    laoyuan
        4
    laoyuan  
       2017-06-11 14:45:03 +08:00
    写这种定时任务,python3 都得写成绝对地址,算是个好习惯
    laoyuan
        5
    laoyuan  
       2017-06-11 14:46:05 +08:00   ❤️ 1
    哈哈哈,我正在写 jd_coupon.py
    xmoiduts
        6
    xmoiduts  
       2017-06-11 14:54:11 +08:00 via Android
    我遇到过工作目录的坑,但是是在 windows 下。
    想把文件拖到脚本上进行处理,命令行状态下传参可以运行,实际拖拽文件就会报错(而且日志都没有)。
    后来发现工作目录是某个系统目录 用户写不了。试试 chdir()什么的
    jugelizi
        7
    jugelizi  
       2017-06-11 14:58:42 +08:00
    py 本身支持定时任务
    fearme
        8
    fearme  
    OP
       2017-06-11 18:42:18 +08:00
    @laoyuan 准备抢 那张 198-100 神券吧
    laoyuan
        9
    laoyuan  
       2017-06-11 19:17:03 +08:00
    @fearme 给我妈买雀巢的中老年奶粉,淘宝最便宜也得 32,这回京东用完券 17 一袋,有多少我领多少
    fearme
        10
    fearme  
    OP
       2017-06-11 19:17:14 +08:00 via iPhone
    @jugelizi 能说说吗
    xiexingjia
        11
    xiexingjia  
       2017-06-12 02:34:47 +08:00
    fearme
        12
    fearme  
    OP
       2017-06-12 10:44:11 +08:00 via iPhone
    @xiexingjia 我路由器上内存少只有 256Mb,所以希望运行完 python 不希望 python 还驻留内存,所以才希望用路由器自身的定时任务
    notgood
        13
    notgood  
       2017-06-14 17:33:17 +08:00
    @laoyuan 大佬好, 请问能帮忙抢一张吗? //我是喜欢跑步的
    laoyuan
        14
    laoyuan  
       2017-06-14 20:03:49 +08:00
    @notgood 除了前两天领到了后来都没领到,一到领券的点网络就卡到爆,我在山大用的校园网难道学生也都卡点抢券?
    fearme
        15
    fearme  
    OP
       2017-06-16 09:58:41 +08:00
    @jugelizi py 本身支持定时任务是什么意思?求教
    notgood
        16
    notgood  
       2017-06-18 09:41:30 +08:00 via iPhone
    @laoyuan 好的谢谢 ,另外请问这个神券在哪里领取?找不到入口了
    laoyuan
        17
    laoyuan  
       2017-06-18 10:37:52 +08:00
    @notgood 现在没有了,只有 200-50
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5594 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 01:33 · PVG 09:33 · LAX 17:33 · JFK 20:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.