【问题标题】:Django-RQ: How to call function?Django-RQ:如何调用函数?
【发布时间】:2016-11-01 13:55:57
【问题描述】:
我正在将一个项目迁移到 Django 并喜欢使用 django-rq 模块。
但是,我不知道该放什么:
import django_rq
queue = django_rq.get_queue('high')
queue.enqueue(func, foo, bar=baz)
如何拨打func?这可以是path.file.function 之类的字符串吗?
函数需要驻留在同一个文件中吗?
【问题讨论】:
标签:
python
django
redis
django-rq
【解决方案1】:
创建tasks.py文件以包含
from django_rq import job
@job("high", timeout=600) # timeout is optional
def your_func():
pass # do some logic
然后在你的代码中
import django_rq
from tasks import your_func
queue = django_rq.get_queue('high')
queue.enqueue(your_func, foo, bar=baz)
【讨论】:
-
-
它仅适用于 django_rq 吗?因为我在这个“作业对象不可调用”中遇到问题,所以我只使用 RQ。参考这个链接RQ