使用django-rq的异步实例方法

时间:2015-03-27 04:43:46

标签: python django asynchronous django-rq

我需要一种使用django-rq异步调度实例方法的方法。我试过这个:

MyClass(object):

 @job
 def my_func(self, some_arg):
   # Do some stuff

在AttributeError上失败,因为该函数在模块级命名空间中不可用。

任何人都知道解决这个问题的好方法,而不是在模块级别编写传递函数来实例化对象然后调用方法?这就是我一直在做的事情,但它看起来很苛刻。

1 个答案:

答案 0 :(得分:0)

最简单的方法是使您的方法同步并在异步函数中调用它。

MyClass(object):
    def my_method(self, some_arg):
        # Do some stuff

@job
def my_function(instance, some_arg):
    instance.my_method(some_arg)