Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
I probably don't want to have the 'trace' log level on the actual
server.
|
|
|
|
|
|
It's not as fully featured as the previous implementation, but most of
those features haven't been used for the past few years anyway.
Also added a generic throttle implementation in Multi::Core, which can
be re-used for the API.
|
|
The solution that has been implemented upstream is a little different
from my patch, but it works well.
|
|
|
|
AnyEvent::Util::run_cmd() is a godsent. POE was such a hassle in that
area.
|
|
|
|
|
|
That is, stop all watchers that we want to stop and only shut down when
there are no active watchers anymore. This ensures that we're not
shutting down in the middle of some operation.
|
|
|
|
Currently only Multi::Core works, trying to use any other modules will
fail.
|
|
|
|
Warning can be safely ignored in our case. A bit hack'ish approach
though...
|
|
Normally this shouldn't be necessary as the forking is done before any
POE::Kernel functions has been called. It seems, however, that the
POE::Kernel is already started in the import() function, meaning that
it's already running anyway.
Not sure whether the import() has changed to start the kernel or that
something else changed that I'm only seeing this now, ow well.
|
|
One example of what I would consider "horribly wrong".
|
|
Rather than forwarding STDERR and STDOUT to /dev/null, it is now written
to the log file. This also means that exceptions are now finally logged
somewhere, making debugging a lot easier.
I've also looked at how we should handle exceptions, but the default
action of POE is to let the process die() as any normal script (assuming
a session doesn't sig_handled() the DIE signal), and I couldn't think of
anything better than this default - so let's code with this in mind:
die() when something goes horribly wrong, otherwise just warn() and
handle the error.
|
|
Apparently closing STDOUT/STDIN/STDERR will exit the process... so open
/dev/null instead. (As done in the perlipc manual - of course doesn't
work on windows, but nobody cares about that)
|
|
The location of the PID file isn't configurable, so this change
currently limits running only one Multi for each VNDB installation.
(Not that you'd need more...)
|
|
|
|
|
|
This isn't really necessary when shutting down the entire process, but it
is for the individual session to shut down. This will make it possible to
load/unload/reload Multi modules on demand without restarting the process.
|
|
Before this edit, the options part of the DSN was incorrect, resulting
in DBD::Pg ignoring the pg_enable_utf8 flag.
|
|
These events will be signalled to Multi's modules as a 'shutdown'
signal.
|
|
Started on multi.pl and Multi::Core, the main differences:
- Uses POE::Component::Pg now (get it from http://g.blicky.net/poco-pg.git/)
- Doesn't use shared memory anymore
- No 'commands' anymore, every session has to handle its own events
(communication goes either through POE itself, or the PostgreSQL DB)
- No weird Cron stuff anymore
All other Multi modules will have to be updated/rewritten to reflect
these changes. None of them will work at the moment.
|
|
|
|
fixed some XHTML validation problems
git-svn-id: svn://vndb.org/vndb@21 1fe2e327-d9db-4752-bcf7-ef0cb4a1748b
|
|
git-svn-id: svn://vndb.org/vndb@11 1fe2e327-d9db-4752-bcf7-ef0cb4a1748b
|
|
git-svn-id: svn://vndb.org/vndb@9 1fe2e327-d9db-4752-bcf7-ef0cb4a1748b
|
|
git-svn-id: svn://vndb.org/vndb@8 1fe2e327-d9db-4752-bcf7-ef0cb4a1748b
|
|
git-svn-id: svn://vndb.org/vndb@5 1fe2e327-d9db-4752-bcf7-ef0cb4a1748b
|
|
git-svn-id: svn://vndb.org/vndb@4 1fe2e327-d9db-4752-bcf7-ef0cb4a1748b
|