擅长:python、mysql、java
<p>你的提议有严重的性能问题。(假设有人大容量插入1000行,它将创建1000行的python进程,并迅速关闭服务器。)下面是一个简单得多的方法,没有问题:(警告:未测试的伪代码)</p>
<pre><code>CREATE TABLE log_table( datetime update_time, varchar() valore);
CREATE TRIGGER `notifica_cambiamenti` AFTER UPDATE ON `valore`
-> FOR EACH ROW BEGIN
->
-> insert into log_table(now(), NEW.valore);
-> END;
-> $$
</code></pre>
<p>现在,您可以创建一个异步作业(或cron作业),定期处理日志表并删除它看到的行:<code>DELETE FROM log_table WHERE update_time < $LAST_ROW_SEEN</code>。在</p>
<p>高级注意:在您需要每秒处理多个作业,或者在不每秒轮询数据库100次的情况下减少延迟之前,这都可以正常工作。在这种情况下,您不应该使用SQL数据库。使用一个真正的队列,如AMPQ、Redis/Resque、celeri等。客户端将把行插入SQL,然后将作业放入作业队列。你可以让许多工人同时处理工作。在</p>