Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 18, 2015 11:14:22

ajib6ept
От: От: От: От: От: От: От: От:
Зарегистрирован: 2013-08-04
Сообщения: 297
Репутация: +  26  -
Профиль   Отправить e-mail  

rq обратиться к классу

Как мне обратиться к методу change_num и вернуть изменное число?

main.py

#-- coding: utf-8 --
from rq import Queue
from redis import Redis
from time import sleep
from task import TestClass
q = Queue(connection=Redis())
j = q.enqueue(TestClass.run, 'http://ya.ru')
 
sleep(3)
 
print j.result

task.py
#-- coding: utf-8 --
import urllib2
class TestClass():
    def change_num(self, num):
        return num+1
    @classmethod
    def run(cls, url):
        return len(urllib2.urlopen(url).read())




_________________________
Python golden rule: Do not PEP 8 unto others; only PEP 8 thy self.
Don't let PEP 8 make you insanely intolerant of other people's code.

Офлайн

#2 Янв. 18, 2015 15:32:25

ajib6ept
От: От: От: От: От: От: От: От:
Зарегистрирован: 2013-08-04
Сообщения: 297
Репутация: +  26  -
Профиль   Отправить e-mail  

rq обратиться к классу

Разобрался, вот к такому решению пришел

import urllib2
class TestClass():
    def __init__(self, num=0):
        self.num = num
    def change_num(self):
        self.num = self.num + 1
    
    @classmethod
    def run(cls, url):
        t = cls(len(urllib2.urlopen(url).read()))
        t.change_num()
        return t.num



_________________________
Python golden rule: Do not PEP 8 unto others; only PEP 8 thy self.
Don't let PEP 8 make you insanely intolerant of other people's code.

Отредактировано ajib6ept (Янв. 18, 2015 15:33:23)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version