1
from celery.task import Task
class Decayer(Task):

    def calc_decay_value(self, x):
        y = (1.0/(2^x))
        return y

    def calc_decay_time(self, x):
        y  = 2^x
        return y

    def run(self, d, **kwargs):

        #do stuff.

        return 0


>>> decayer = tasks.Decayer(r)



Traceback (most recent call last):
  File "scanDecay.py", line 31, in <module>
    decayer = tasks.Decayer(r)
TypeError: object.__new__() takes no parameters
4

2 に答える 2

7

2 つのエラー

1) クラスに機能がありません__init__。追加するか、代わりにこれを使用します。

decayer = tasks.Decayer()

2) 整数を浮動小数点数で累乗しようとしていますが、^xor を意味し、浮動小数点数では使用できません。**の代わりに使用^:

y = 2 ** x
于 2010-12-30T10:13:51.053 に答える
2

問題は呼び出しとタスクが原因のようです。引数を取ることができるメソッドを定義していないdecayer = tasks.Decayer(r)ため、Decayerは引数を取るように設計されていません。Task__init__

于 2010-12-30T10:18:38.137 に答える