Zijn er mensen hier die bekend zijn met Python?
Hopelijk is dit geen complex verhaal wat ik jullie ga vertellen, maar het is een redelijk simpele vraag voor een doorgewinterde Pythoner.
Ik heb dus een mooi Python-script wat via ZeroMQ een datastroom binnenhaalt (treinposities), en dat werkt perfect, en ik krijg om de tien seconden een mooie XML-feed binnen.
Nu wordt er dus constant contents dus gebruikt om dit naar een bestand te schrijven, voor nu. Hoe kan ik dit in het geheugen opslaan, zodat ik dit met een de PyBottle-plugin kan outputten?
En klopt het dat dit uiteraard minder belastend is voor de server?
Hopelijk zijn er hier mensen die Python-kennis hebben, en snappen wat ik bedoel.
Hopelijk is dit geen complex verhaal wat ik jullie ga vertellen, maar het is een redelijk simpele vraag voor een doorgewinterde Pythoner.

Ik heb dus een mooi Python-script wat via ZeroMQ een datastroom binnenhaalt (treinposities), en dat werkt perfect, en ik krijg om de tien seconden een mooie XML-feed binnen.
#!/usr/bin/env python2
from gzip import GzipFile
from cStringIO import StringIO
from subprocess import call
import zmq
context = zmq.Context()
subscriber = context.socket(zmq.XSUB)
subscriber.connect("tcp://pubsub.*******.nl:7664")
subscriber.send(chr(0x01) + "/RIG/NStreinpositiesInterface5") # 0x01 = subscribe, 0x00 = unsubscribe
x=0
while True:
multipart = subscriber.recv_multipart()
address = multipart[0]
contents = .join(multipart[1:])
contents = GzipFile(,r,0,StringIO(contents)).read()
filename="tmp/treinpos.txt"
file = open(filename,"w")
file.write(contents)
file.close()
subscriber.close()
context.term() Nu wordt er dus constant contents dus gebruikt om dit naar een bestand te schrijven, voor nu. Hoe kan ik dit in het geheugen opslaan, zodat ik dit met een de PyBottle-plugin kan outputten?
En klopt het dat dit uiteraard minder belastend is voor de server?
Hopelijk zijn er hier mensen die Python-kennis hebben, en snappen wat ik bedoel.

Ik kan het wel proberen, maar ik heb geen zin om op een semi-productie server een load te veroorzaken doordat het niet klopt.