【发布时间】:2014-02-15 10:11:01
【问题描述】:
我正在尝试对 celery 使用继承
这是我的课程:
class A(object):
@property
def var(self):
return self._var
@var.setter
def var(self, value):
self._var = value
def b(self):
self.var = 'b'
class B(A):
@celeryapp.task(name='B.b', filter=task_method)
def b(self):
super(B, self).b()
这是我的主要代码:
# instanciate B
instb = B()
# Send a task to celery
instb.b.delay()
Celery 输出日志:
[2014-01-24 12:48:11,407: INFO/MainProcess] Received task: B.b[57833124-7691-443a-ad5a-d7caea4578d3]
到目前为止一切都很好,但是当我尝试获取 var 属性时
print instb.var()
# or
print instb.var
蟒蛇说:
AttributeError: 'B' object has no attribute '_var'
有人可以向我解释为什么它不起作用? 谢谢
【问题讨论】:
-
你应该试试
b.var()。 -
var是@property,所以var()将给出TypeError
标签: python inheritance properties celery decorator