summaryrefslogtreecommitdiff
path: root/lib/Multi/Core.pm
AgeCommit message (Collapse)AuthorFilesLines
2015-05-11Multi::{Core,Anime}: More fixes regarding UTF-8Yorhel1-7/+7
2015-04-27Multi::Core: Make log level configurableYorhel1-1/+1
I probably don't want to have the 'trace' log level on the actual server.
2015-04-27Multi::API: Fully implement 'get' command with AnyEventYorhel1-0/+2
2014-12-21Multi: WIP Converting Multi::API to AnyEventYorhel1-3/+5
2014-10-31Multi::IRC: Converted to use AnyEventYorhel1-1/+24
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.
2014-10-29Multi: Use AnyEvent::Pg's last_query_start_time()Yorhel1-1/+2
The solution that has been implemented upstream is a little different from my patch, but it works well.
2014-10-28Multi: More convenient error handling for one-shot queriesYorhel1-6/+18
2014-10-22Multi::RG: Converted to use AnyEventYorhel1-5/+1
AnyEvent::Util::run_cmd() is a godsent. POE was such a hassle in that area.
2014-10-22Multi::Maintenance: Converted to use AnyEventYorhel1-7/+9
2014-10-22Multi: Add pg_cmd function for more robust error handlingYorhel1-4/+39
2014-10-21Multi: Implement clean shutdown againYorhel1-6/+28
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.
2014-10-21Multi: Rewrote Feed to AnyEvent + various fixesYorhel1-8/+37
2014-10-21Multi: Started on a rewrite to AnyEventYorhel1-74/+57
Currently only Multi::Core works, trying to use any other modules will fail.
2011-04-29affiliates: +data column, hide hidden links, better browser, Multi fixesYorhel1-1/+1
2009-11-17Multi::Core: Surpress warning about STDIO being tied in POE::Wheel::RunYorhel1-1/+8
Warning can be safely ignored in our case. A bit hack'ish approach though...
2009-11-17Multi::Core: Call $poe_kernel->has_forked() after forkingYorhel1-0/+1
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.
2009-11-04Multi::Core: die() on SQL errorYorhel1-1/+1
One example of what I would consider "horribly wrong".
2009-11-04Multi::Core: Improved logging of warnings and errorsYorhel1-9/+22
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.
2009-11-02Multi::Core: Fixed bug in daemonizing codeYorhel1-3/+3
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)
2009-11-02Multi::Core: Implemented daemonizing and PID fileYorhel1-3/+33
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...)
2009-08-09Multi::Core: Actually log to file instead of stdoutYorhel1-1/+1
2009-08-05Multi::Core: Got rid of 'undefined' warning in pg_error + ChangeLog updateYorhel1-1/+1
2009-07-23Remove session aliases in shutdown handlerYorhel1-0/+1
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.
2009-07-19Multi::Core: Correctly set the pg_enable_utf8 flagYorhel1-1/+1
Before this edit, the options part of the DSN was incorrect, resulting in DBD::Pg ignoring the pg_enable_utf8 flag.
2009-07-17Multi::Core: Handle SIGTERM and SIGINTYorhel1-13/+30
These events will be signalled to Multi's modules as a 'shutdown' signal.
2009-07-16Made a start on the Multi-rewriteYorhel1-101/+37
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.
2008-11-12Fixed Multi to use relative paths and to use the new configuration filesYorhel1-8/+5
2008-06-06Got rid of GraphViz.pm (which is like using CGI.pm to generate HTML), and ↵yorhel1-1/+1
fixed some XHTML validation problems git-svn-id: svn://vndb.org/vndb@21 1fe2e327-d9db-4752-bcf7-ef0cb4a1748b
2008-05-04MOAR!1.15yorhel1-1/+1
git-svn-id: svn://vndb.org/vndb@11 1fe2e327-d9db-4752-bcf7-ef0cb4a1748b
2008-04-29...another commit...yorhel1-1/+1
git-svn-id: svn://vndb.org/vndb@9 1fe2e327-d9db-4752-bcf7-ef0cb4a1748b
2008-04-27Made Multis queue persistent in shared memoryyorhel1-41/+41
git-svn-id: svn://vndb.org/vndb@8 1fe2e327-d9db-4752-bcf7-ef0cb4a1748b
2008-04-26Stupid comments - like I can keep track of everything I change...yorhel1-7/+22
git-svn-id: svn://vndb.org/vndb@5 1fe2e327-d9db-4752-bcf7-ef0cb4a1748b
2008-04-24See the diff for lib/ChangeLog...yorhel1-0/+128
git-svn-id: svn://vndb.org/vndb@4 1fe2e327-d9db-4752-bcf7-ef0cb4a1748b