Queue queries


I’ve a webapp which receives “pings” from external devices. Sadly the scheduler on those devices has been syncronized, so I get hundreds of contacts at the very same moment, causing an overload on the MySQL server.

So I was wondering how can I queue those request and make a single update later, off peak.

I thought about using the cache, but then I would have concurrency problems. Also I could loose some info if the cache gets full and cleared…

So I was looking for some new ideas on where to temporary store this information. Any hint?


I use a Redis set and Redis list for similar tasks

See ext https://github.com/phpnode/YiiRedis

Thanks. If possible i’d rather find a solution without installing additional services. Otherwise I would have queued to sqlite ;) I have many many requests, but I think that would suffice. Yet I’d like if there’s something I can do programmatically or with the technologies I already use

I ended up with the lame solution of storing data into a sqlite db, and read it back via a cron script