Immer task_id innerhalb einer Sellerie Aufgabe

Dies ist wahrscheinlich eine dumme Frage aber die hat mich ratlos aus einem Rubinroten hintergrund.

Ich habe ein Objekt, das so aussieht, wenn ich versuche, es zu drucken.

print celery.AsyncResult.task_id
>>><property object at 0x10c383838>

Ich hatte erwartet, den tatsächlichen Wert der task_id-Eigenschaft gedruckt sehen. Wie bekomme ich den tatsächlichen Wert?

UPDATE 1

@celery.task
def scan(host):
    print celery.AsyncResult.task_id
    cmd = 'ps -ef'
    cm = shlex.split(cmd)
    scan = subprocess.check_output(cm)
    return scan

Beste Grüße.

  • Erstellen Sie eine Instanz der Klasse. propertys sind Deskriptoren werden verwendet, um Attribut-wie der Zugriff auf getter/setter-Methoden, aber Sie funktionieren auf der Instanz-Ebene. Wenn der Zugriff von der Klasse erhalten Sie einfach den property wrapper.
  • solltest du eigentlich post dies als eine Antwort 🙂
  • Aus dem Brief-Gehäuse und Ausgang-es sieht aus wie celery.AsyncResult muss der name der Klasse, nicht einer Instanz von einer, und task_id ist eine Eigenschaft, Attribut der Klasse-das ist was Bakuriu ist zu sagen, dass ich glaube.
InformationsquelleAutor user1513388 | 2013-09-18
Schreibe einen Kommentar