ydf0509/funboost

django的模块引入和启动

imerse opened this issue · 16 comments

请教下,我在django项目下建立了一个
project_root/fubst/jobs.py

打算独立启动这个消费服务,服务里面引用了项目其他的orm和类,这里启动的时候一直报错,无法初始化

from base.task import Task
import os


os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project.settings')
import django

django.setup()

@boost(BoosterParams(queue_name='watch_order_on', broker_kind=BrokerEnum.REDIS, qps=10,
       max_retry_times=2, retry_interval=5))
def watch_order_on(order):
    do with Task
    pass

启动方式,我在项目根目录下,执行export PYTHONPATH=./; python fubst/jobs.py

麻烦截图吧,你什么报错也不描述,也不截图

麻烦你看我写的django + funboost吧,有专门项目

如果是非pycahrm启动要设置环境变量,export PYTHONOPATH=你的django项目根目录

你每次截图都很短,我看不到上下文

你这个报错和funboost无关的,但是你每次的截图都太短了,你自己看下代码是不是出错了,或者相互导入了出错

image

这个demo里面,没有看到引入django相关的orm啥的示例呢。

image

你这个报错和funboost无关的,但是你每次的截图都太短了,你自己看下代码是不是出错了,或者相互导入了出错

对,确实不是funboost报错,是不清楚在django里面,怎么结合使用之后启动消费服务

我估计你是没掌握 PYTHONPATH呢,你截图下你的项目根目录吧,export PYTHONATH=你的项目根目录,我现在看不到你的项目根目录是什么, 也不知道你是在什么文件夹下敲得 export PYTHONPATH=./ ,PYTHONPATH知识很重要的

PYTHONPATH很重要啊,你的fubst的上级文件夹就是项目根目录吗

PYTHONPATH很重要啊,你的fubst的上级文件夹就是项目根目录吗

是的

我估计你是没掌握 PYTHONPATH呢,你截图下你的项目根目录吧,export PYTHONATH=你的项目根目录,我现在看不到你的项目根目录是什么, 也不知道你是在什么文件夹下敲得 export PYTHONPATH=./ ,PYTHONPATH知识很重要的

前面描述啦,project_root/fubst/jobs.py

project.settings ,你的项目根目录下有 project文件夹?project文件夹下有settings.py?

还是截个项目目录结构图吧,怀疑你不知道 os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project.settings') 的入参字符串什么事意思

project.settings ,你的项目根目录下有 project文件夹?project文件夹下有settings.py?

image

解决了,import要在setup之后

新增了 funboost + dajngo + 函数中操作了orm 的demo

https://github.com/ydf0509/funboost_django_orm_demo/tree/main