错误!在主处理程序列表或侦听处理程序列表中都找不到请求的处理程序“ restart nginx”

问题描述

我有一个简单的角色,它仅使用重新启动处理程序安装nginx,但这不起作用。我收到错误消息:“错误!在主处理程序列表或侦听处理程序列表中均未找到请求的处理程序'restart nginx'”

我在做什么错了?

目录

test_handler
  handers 
    - main.yml
  tasks 
    - main.yml

handlers / main.yml

---
# handlers file for /ansible/roles/test_handler
- name: reload nginx
  service: name=nginx state=reloaded enabled=yes
  become: yes
  become_user: root

- name: restart nginx
  service: name=nginx state=restarted enabled=yes
  become: yes
  become_user: root

tasks / main.yml

- name: Install nginx
  yum: name=nginx state=latest update_cache=yes
  notify:
    - restart nginx
  become: yes
  become_user: root

解决方法

是正确的@user3511320,特别是如果任务正在调用依赖角色的任务/处理程序。 而不是包含用户“角色”并调用整个角色的任务。

Use:

    roles:
    - ../roles/foo

instead of:
 tasks:
  - include_tasks: ../../roles/foo/tasks/test.yml
, 问题是我的剧本,叫做角色。我这样做是用include:不是角色。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...