我正在尝试使用libpqxx侦听通知事件。我从一个扩展了pqxx::notify_listener的示例开始。
#include <iostream>
#include <string>
#include <pqxx/pqxx>
class Foo : public pqxx::notify_listener {
public:
Foo(pqxx::connection_base &c): pqxx::notify_listener(c, "listen") {}
virtual void operator()(int id) { std::cout << "HERE!" << std::endl; }
};
int main(void) {
// set up the listener
pqxx::connection con("...secret...");
Foo listener(con);
// loop forever ...
}但是我不能让它工作。
我尝试将name参数切换为
pqxx::notify_listener(c, "my_schema"),
pqxx::notify_listener(c, "listen my_schema")和其他一些人。
我正在通过pgAdmin手动创建通知事件。无论我做什么,函数器都不会被执行。
发布于 2012-10-11 07:55:32
在主循环中调用pqxx::connection_base::get_notifs()还是pqxx::connection_base::await_notification()?
如果没有,您需要这样做。
https://stackoverflow.com/questions/12828447
复制相似问题