Ich benutze Stoff führen Scrapyd Aufgabe, der Server gibt die ID der Aufgabe wird ausgeführt, aber ich möchte diesen Code unten und setzen Sie alle ID in Liste, aber wenn ich r.status verwenden, treten Fehler: '_AttributeString' Objekt hat kein Attribut 'Status' Fehler, wie bekomme ich alle id den Code Schlag:Wie analysiere ich diese Daten mit Fabric?
@task
def stop_slave_machine(slave_ip = None):
jobs_id = []
with cd("/spider/distributed/wzws"):
if not None:
r = local("curl http://%s:%s/listjobs.json?project=WzwsSpider" % (slave_ip, scrapyd_port))
print(r.status)
und den Server Rückgabedaten:
{"status": "ok", "running": [{"start_time": "2016-03-28 18:21:21.951943", "id": "d10eae6cf4ce11e5a6646cae8b23c5da", "spider": "wzws"}, {"start_time": "2016-03-28 18:21:26.945244", "id": "d11a47f4f4ce11e5a6646cae8b23c5da", "spider": "wzws"}, {"start_time": "2016-03-28 18:21:31.941162", "id": "d12320ccf4ce11e5a6646cae8b23c5da", "spider": "wzws"}, {"start_time": "2016-03-28 18:21:36.941122", "id": "d12975b2f4ce11e5a6646cae8b23c5da", "spider": "wzws"}, {"start_time": "2016-03-28 18:21:41.941010", "id": "d131096cf4ce11e5a6646cae8b23c5da", "spider": "wzws"}], "finished": [], "pending": [], "node_name": "XXXXXXX"}
Ich brauche einen Parameter r = local ("curl http: //% s:% s/listjobs.json Projekt = WzwsSpider" add% (slave_ip, scrapyd_port), capture = True) – rowele
Ich folge nicht. Ich habe angenommen, dass "r" bereits in meinem Vorschlag enthalten ist. Ich kann es bearbeiten, um Ihren Code zwischen die "Import" -Leitung und den "Lasten" -Aufruf zu stellen, wenn es klarer würde. – Morgan
Ja, ich weiß. Danke – rowele