Я пытаюсь прослушать уведомления, используя события 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 ...
}
Я не мог заставить это работать хотя.
Я попытался переключить параметр имени на
pqxx::notify_listener(c, "my_schema")
,
pqxx::notify_listener(c, "listen my_schema")
и некоторые другие.
Я создаю события NOTIFY вручную через pgAdmin. что бы я ни делал, функтор не будет казнен.
Ты звонишь pqxx::connection_base::get_notifs()
или же pqxx::connection_base::await_notification()
в основном цикле?
Если нет, то вам нужно.
Других решений пока нет …