Conversion server details
Jamroom Developers
Glad to hear you have a conversion server in the works. Would love to get more details as to the requirements, what it does, and especially, how it works.
So we are not just triggering conversion on upload, we also trigger additional conversions through other forms. We also trigger the waveform generation when a new preview file is created. Soon I will be adding the ability to do bpm detection and key detection on the original audio file as well (using some additional command line tools such as SOX and FFmpeg).
My near term goal was to offload all these tasks to a "media processing" server that would off load all these cpu intensive tasks; very similar to your conversion server. I assume i will be able to run these tools on the conversion server as well.
My question is more about how this works. The ideal scenario would allow me to monitor performance on server and spin up additional conversion servers as required by load. This can be done pretty easily with AWS. The question is how you address these servers. Ideally Jamroom would have a cue of pending media processing tasks (e.g conversion). Any number of servers could execute the task as it became available. In other words, the conversion server would pull tasks rather than jamroom push the task.
Can you let me know if this is possible? I thought maybe worker queues could be used for this but I'm not sure.
If this is not possible or not the way it currently works, can you provide any details as to how it works.
updated by @dannya: 11/10/14 10:26:33PM