Because the whole point of using websockets for me is to reduce latency. And I am guessing that polling the database all the time is computationally expensive.
What kind of latency are you looking for?
I doubt its expensive to query the database for messages since X ... once or three times a second ... "realtime" for humans :)
In truth, all "events" are actually just variations of polling with different softwares doing the polling (OS...)
See also Mojolicious: Websocket example under hypnotoad for similar discussion