Config-Model-Systemd

 view release on metacpan or  search on metacpan

lib/Config/Model/models/Systemd/Section/Timer.pl  view on Meta::CPAN

elapsing time. This setting only has an effect on timers configured with C<OnCalendar>,
and it can be combined with C<RandomizedDelaySec>.

Much like C<RandomizedDelaySec>, this setting is for distributing timer events
to prevent them from firing all at once. However, this setting is most useful to prevent resource
congestion on a remote service, from a fleet of similarly-configured clients. Unlike
C<RandomizedDelaySec>, this setting applies its offset with no regard to manager
startup time. This maintains the periodicity of configured C<OnCalendar> events
across manager restarts.

For example, let\'s say you\'re running a backup service and have a fleet of laptops that wish
to make backups weekly. To distribute load on the backup service, each laptop should randomly pick
a weekday to upload its backups. This could be achieved by setting C<OnCalendar> to
C<weekly>, and then configuring a C<RandomizedDelaySec> of
C<5 days> with C<FixedRandomDelay> enabled. Let\'s say that some
laptop randomly chooses a delay of 4 days. If this laptop is restarted more often than that, then the
timer will never fire: on each fresh boot, the 4 day delay is restarted and will not be finished by
the time of the next shutdown. Instead, you should use C<RandomizedOffsetSec>, which
will maintain the configured weekly cadence of timer events, even across reboots.',
        'type' => 'leaf',
        'value_type' => 'uniline'
      },
      'DeferReactivation',

lib/Config/Model/models/Systemd/Section/Timer.pod  view on Meta::CPAN

elapsing time. This setting only has an effect on timers configured with C<OnCalendar>,
and it can be combined with C<RandomizedDelaySec>.

Much like C<RandomizedDelaySec>, this setting is for distributing timer events
to prevent them from firing all at once. However, this setting is most useful to prevent resource
congestion on a remote service, from a fleet of similarly-configured clients. Unlike
C<RandomizedDelaySec>, this setting applies its offset with no regard to manager
startup time. This maintains the periodicity of configured C<OnCalendar> events
across manager restarts.

For example, let's say you're running a backup service and have a fleet of laptops that wish
to make backups weekly. To distribute load on the backup service, each laptop should randomly pick
a weekday to upload its backups. This could be achieved by setting C<OnCalendar> to
C<weekly>, and then configuring a C<RandomizedDelaySec> of
C<5 days> with C<FixedRandomDelay> enabled. Let's say that some
laptop randomly chooses a delay of 4 days. If this laptop is restarted more often than that, then the
timer will never fire: on each fresh boot, the 4 day delay is restarted and will not be finished by
the time of the next shutdown. Instead, you should use C<RandomizedOffsetSec>, which
will maintain the configured weekly cadence of timer events, even across reboots. I< Optional. Type uniline.  > 

=head2 DeferReactivation

Takes a boolean argument. When enabled, the timer schedules the next elapse based on

t/model_tests.d/systemd-user-examples/duplicity/duplicity.service  view on Meta::CPAN

[Service]
ExecStart = my-backup

t/model_tests.d/systemd-user-examples/duplicity/duplicity.service~  view on Meta::CPAN

## This file was written by cme command.
## You can run 'cme edit systemd-user' to modify this file.
## You may also modify the content of this file with your favorite editor.


[Service]
ExecStart = /home/domi/private/admin/backup-ylum.sh

t/model_tests.d/systemd-user-test-conf.pl  view on Meta::CPAN

        backend_arg => 'test.service',
        load => 'service:test Unit Description="test from scratch"',
        file_contents_like => {
            "home/joe/.config/systemd/user/test.service" => qr/from scratch/ ,
        },
    },
    {
        name => 'duplicity',
        backend_arg => 'duplicity',
        check => [
            'service:duplicity Service ExecStart:0' => "my-backup",
            'timer:duplicity Timer OnCalendar:0' => '13:00',
            'timer:duplicity Unit Description'=>"Run duplicity",
        ]
    }
);

return {
    tests => \@tests,
    home_for_test=>'/home/joe',
    conf_dir => '~/.config/systemd/user/',



( run in 1.054 second using v1.01-cache-2.11-cpan-ff066701436 )