现有一个django app; 想要增加一个爬虫定期更新数据,这个爬虫显然是长时间运行的;
所以我想:
1 给app 增加一个django custom command
2 后台执行该命令: nohup python manage.py mycmd &
这样做是否可行?
所以我想:
1 给app 增加一个django custom command
2 后台执行该命令: nohup python manage.py mycmd &
这样做是否可行?
|
7gongJan 22, 2013
1
用 curl 定时出发某个 Post 或 get 页面就是了
|
|
2
可以试试看用 celery http://celeryproject.org/ 来做。定期执行和接受webapp下发的task都可以实现。
|
|
4
开个线程跑也是一个办法,如果要后台以命令方式运行的话还是建议用 supervisor,不要用 nohup
|
|
5
轻量级的daemon其实可以这样实现
import os, ctypes import ctypes.util ctypes.CDLL(ctypes.util.find_library('c')).daemon(0,0) open('/var/run/demo.pid','w').write(str(os.getpid())) |
|
BigZJan 23, 2013
7
你是想用django的 orm部分吧,把这段加到你的py文件头部,文件可以单独执行
import sys, os PROJECT_DIR = os.path.dirname(os.path.dirname(__file__)) sys.path.append(PROJECT_DIR) from django.core.management import setup_environ import settings setup_environ(settings) |
|
JsJan 25, 2013
8
|
|
10
|
|
11
谢谢各位 我实践一下
|