App-MonM-Notifier
view release on metacpan or search on metacpan
lib/App/MonM/Notifier/Monotifier.pm view on Meta::CPAN
`errcode` INT(11), -- Error code
`errmsg` TEXT -- Error message
);
Configuration example for MySQL:
UseMonotifier yes
<MoNotifier>
DSN "DBI:mysql:database=monotifier;host=mysql.example.com"
User username
Password password
Set RaiseError 0
Set PrintError 0
Set mysql_enable_utf8 1
# Expires and timeout values
Timeout 60
MaxTime 300
Expires 1M
</MoNotifier>
lib/App/MonM/Notifier/Store.pm view on Meta::CPAN
Version 1.02
=head1 SYNOPSIS
use App::MonM::Notifier::Store;
my $store = App::MonM::Notifier::Store->new(
dsn => "DBI:mysql:database=monotifier;host=mysql.example.com",
user => "username",
password => "password",
set => [
"RaiseError 0",
"PrintError 0",
"mysql_enable_utf8 1",
],
expires => 3600*24*7,
maxtime => 300,
);
die($store->error) if $store->error;
=head1 DESCRIPTION
DBI interface for monotifier store. This module provides store methods
=head2 new
my $store = App::MonM::Notifier::Store->new(
dsn => "DBI:mysql:database=monotifier;host=mysql.example.com",
user => "username",
password => "password",
set => [
"RaiseError 0",
"PrintError 0",
"mysql_enable_utf8 1",
],
expires => 3600*24*7,
maxtime => 300,
);
Creates DBI object
lib/App/MonM/Notifier/Store.pm view on Meta::CPAN
allow_blessed => 1,
},
],
# Database
DB_FILENAME_NASK => 'monotifier-%s.db', # username
DEFAULT_DSN_MASK => 'dbi:SQLite:dbname=%s',
DEFAULT_DBI_ATTR => {
dsn => '', # See DEFAULT_DSN_MASK
user => '',
password => '',
set => [
'RaiseError 0',
'PrintError 0',
'sqlite_unicode 1',
],
},
# Statuses
STATUS_NEW => 'NEW',
STATUS_BUSY => 'BUSY',
lib/App/MonM/Notifier/Store.pm view on Meta::CPAN
my $username = getlogin() || (getpwuid($>))[0] || $ENV{LOGNAME} || $ENV{USER} || "anonymous";
my $filename = sprintf(DB_FILENAME_NASK, $username);
my $file = $args{file} || File::Spec->catfile(File::Spec->tmpdir(), $filename);
my $dsn = $args{dsn} || sprintf(DEFAULT_DSN_MASK, $file);
# DB
my $db = CTK::DBI->new(
-dsn => $dsn,
-debug => 0,
-username => $args{'user'},
-password => $args{'password'},
-attr => set2attr($args{'set'}),
$args{timeout} ? (
-timeout_connect => $args{timeout},
-timeout_request => $args{timeout},
) : (),
);
my $dbh = $db->connect if $db;
# SQLite
my $fnew = 0;
( run in 0.602 second using v1.01-cache-2.11-cpan-49f99fa48dc )