NAME

App::MonM::Monotifier - extension for the monm notifications

VERSION

Version 1.00

SYNOPSIS

# monotifier
# monotifier show
# monotifier show <ID>
# monotifier remove <ID>
# monotifier clean
# monotifier truncate

DESCRIPTION

This is an extension for the monm notifications over different communication channels

Note! Before using the third-party database, please create the monotifier table

DDL example for MySQL:

CREATE TABLE IF NOT EXISTS monotifier (
    `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE,
    `to` CHAR(255), -- Recipient name
    `channel` CHAR(255), -- Recipient channel
    `subject` TEXT, -- Message subject
    `message` TEXT, -- Message content (BASE64)
    `attributes` TEXT, -- Message attributes (JSON)
    `published` BIGINT(20), -- The publication time (unixtime)
    `scheduled` BIGINT(20), -- The scheduled time (unixtime)
    `expired` BIGINT(20), -- The expiration time (unixtime)
    `sent` BIGINT(20), -- The send time
    `attempt` INTEGER DEFAULT 0, -- Count of failed attempts
    `status` CHAR(32), -- Status of transaction
    `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>

INTERNAL METHODS

again

The CTK method for classes extension. For internal use only!

See "again" in CTK

raise
return $app->raise("Red message");

Sends message to STDERR and returns 0

store
my $store = $app->store();

Returns store object

HISTORY

See Changes file

DEPENDENCIES

App::MonM

TO DO

See TODO file

SEE ALSO

App::MonM

AUTHOR

Serż Minus (Sergey Lepenkov) https://www.serzik.com <abalama@cpan.org>

COPYRIGHT

Copyright (C) 1998-2022 D&D Corporation. All Rights Reserved

LICENSE

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

See LICENSE file and https://dev.perl.org/licenses/