---
name: "Daemon::Generic::AnyEvent"
section: "3pm"
platform: "linux"
package: "libdaemon-generic-perl"
version: "0.85-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Daemon::Generic::AnyEvent"
---

# Daemon::Generic::AnyEvent(3pm)

## NAME

```
 Daemon::Generic::AnyEvent - Generic daemon framework with AnyEvent.pm
```

## SYNOPSIS

```
 use Daemon::Generic::AnyEvent;
 use Some::Event::Loop::Supported::By::AnyEvent;
 @ISA = qw(Daemon::Generic::AnyEvent);
 sub gd_preconfig {
        # stuff
 }
```

## DESCRIPTION

Daemon::Generic::AnyEvent is a subclass of Daemon::Generic that predefines some methods:

- **gd\_run()**

  Setup a periodic callback to `"gd_run_body()"` if there is a `"gd_run_body()"`. Call `"Event::loop()"`.

- **gd\_setup\_signals()**

  Bind SIGHUP to call `"gd_reconfig_event()"`.  Bind SIGINT to call `"gd_quit_event()"`.

To use Daemon::Generic::Event, you have to provide a `"gd_preconfig()"` method.   It can be empty if you have a `"gd_run_body()"`.

Set up your own events in `"gd_preconfig()"` and `"gd_postconfig()"`.

If you have a `"gd_run_body()"` method, it will be called once per second or every `"gd_interval()"` seconds if you have a `"gd_interval()"` method.  Unlike in Daemon::Generic::While1, `"gd_run_body()"` should not include a call to `"sleep()"`.

## LICENSE

Copyright (C) 2006-2010 David Muir Sharnoff \<muir@idiom.com\>.  Copyright (C) 2011 Google, Inc. This module may be used and distributed on the same terms as Perl itself.
