ich habe einen Webscraper gebaut, der mit Multiprocess in mehreren Prozessen ausgeführt wird. Nun möchte ich aber, wenn eine bestimmte Bedingung eintritt, die erhobenen Werte in eine gemeinsame globale Liste schreiben und wenn eine weitere Bedingung eintritt, diese Liste an eine API senden.
Allerdings habe ich nun festgestellt, dass man aus den verschiedenen Prozessen nicht ohne weiteres auf eine globale Liste zugreifen kann.
Ich habe dann gesehen, dass man mit dem Process Manager eine "Shared List" erstellen kann und habe es exakt wie in diesem Beispiel ausprobiert:
https://stackoverflow.com/questions/406 ... 5#40682175
Allerdings bekomme ich dann die Meldung:
Dann habe ich gedacht, vielleicht ist es eine Alternative, von den verschiedenen Prozessen in die gleiche Tempdatei zu schreiben. Aber wenn ich es richtig verstanden habe, können mit "tempfile" erstellte Dateien auch nicht zwischen Prozessen geteilt werden.("name 'shared_list' is not defined",)
Andere Alternative wäre halt, jeden Datensatz direkt (anstatt gebündelt) einzeln an die API zu senden.
Gibt es eventuell eine einfache Lösung für mein Problem? Ich könnte natürlich auch in eine lokale Datei im gleichen Verzeichnis wie meine Anwendung schreiben. Aber ist es überhaupt ratsam, mit verschiedenen Prozessen in eine Datei auf die Festplatte zu schreiben?
Vielen Dank.