I'm using Tornado Async framework for the implementation of a REST Web-Server.
I need to run a high-CPU-load periodic task on the background of the same server.
It is a low-priority periodic task. It should run all the time on all idle cores, but I don't want it to affect the performance of the Web-Server (under a heavy HTTP-request load, it should take lower priority).
Can I do that with the Tornado IOLoop API?
I know I can use tornado.ioloop.PeriodicCallback
to call a periodic background task. But if this task is computational-heavy I may cause performance issues to the web service.