NAME
    Progress::Any::SIGHandler - Add signal handler so your process can
    report progress when sent signal e.g. USR1

VERSION
    This document describes version 0.004 of Progress::Any::SIGHandler (from
    Perl distribution Progress-Any-SIGHandler), released on 2025-10-30.

SYNOPSIS
  Simplest way to use
    In foo.pl:

     #!/usr/bin/env perl

     use strict;
     use warnings;

     use Progress::Any '$progress';
     use Progress::Any::SIGHandler;

     # do stuffs while updating progress
     $progress->target(100);
     for (1..100) {
         # do stuffs
         sleep(rand()*3 + 1);
         $progress->update;
     }
     $progress->finish;

    When run in bash:

     % ./foo.pl &     ; # run in background

     % kill -USR1 %1
     Progress: 5/100 (  5.00%), 2m38s left

     % kill -USR1 %1
     Progress: 8/100 (  8.00%), 2m27s left

  Customize some aspects
     use Progress::Any::SIGHandler (
         template  => '...',      # default template is: "Progress: %P/%T (%6.2p%%), %R"
         signal    => 'USR2',     # default is USR1
     );

DESCRIPTION
    Importing this module will install a %SIG handler (the default is
    "USR1"). When your process is sent the signal, the handler will print to
    STDERR the progress report. You can customize some aspects (see
    Synopsis). More customization will be added in the future.

IMPORT ARGUMENTS
  signal
    See "$Signal".

  template
    See "$Template".

PACKAGE VARIABLES
  $Signal
    The Unix signal to use. Set it before call to install_sig_handler(). A
    convenient is to pass the `signal` argument during import, which will
    set this variable.

  $Template
    Template to use (see "fill_template" in Progress::Any documentation).

FUNCTIONS
  install_sig_handler
    Called automatically by import(), but if you do not import, you can
    invoke this explicitly yourself.

HOMEPAGE
    Please visit the project's homepage at
    <https://metacpan.org/release/Progress-Any-SIGHandler>.

SOURCE
    Source repository is at
    <https://github.com/perlancar/perl-Progress-Any-SIGHandler>.

SEE ALSO
    Progress::Any

AUTHOR
    perlancar <perlancar@cpan.org>

CONTRIBUTING
    To contribute, you can send patches by email/via RT, or send pull
    requests on GitHub.

    Most of the time, you don't need to build the distribution yourself. You
    can simply modify the code, then test via:

     % prove -l

    If you want to build the distribution (e.g. to try to install it locally
    on your system), you can install Dist::Zilla,
    Dist::Zilla::PluginBundle::Author::PERLANCAR,
    Pod::Weaver::PluginBundle::Author::PERLANCAR, and sometimes one or two
    other Dist::Zilla- and/or Pod::Weaver plugins. Any additional steps
    required beyond that are considered a bug and can be reported to me.

COPYRIGHT AND LICENSE
    This software is copyright (c) 2025 by perlancar <perlancar@cpan.org>.

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

BUGS
    Please report any bugs or feature requests on the bugtracker website
    <https://rt.cpan.org/Public/Dist/Display.html?Name=Progress-Any-SIGHandl
    er>

    When submitting a bug or request, please include a test-file or a patch
    to an existing test-file that illustrates the bug or desired feature.

