# notify与handler

当我们在远程主机上安装了一个rpm包后，我们想启动这个service。我们可以用notify与handler来实现。

```
role1/
├── handlers
│   └── main.yml
└── tasks
    └── main.yml
```

`tasks/main.yml`内容如下：

```
---
- name: install httpd
  yum:
    name: httpd
    state: installed
  notify:
  - restart httpd
```

`handlers/main.yml`内容如下：

```
---
- name: start httpd
  service:
    name: httpd
    state: started
```

如果远程主机上已经安装了httpd，那么相当于`tasks/main.yml`中的yum操作没有做任何操作，那么notify调用的handlers中的任务也不会执行。
