Skip to content

Commit efcfac4

Browse files
committed
Adding tasks, defaults, and templates
1 parent 167a063 commit efcfac4

File tree

7 files changed

+76
-0
lines changed

7 files changed

+76
-0
lines changed

defaults/main.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
celery_install: True
2+
3+
celery_env_dir: /etc/celery.d
4+
celery_log_dir: /var/log/celery
5+
celery_run_dir: /var/run/celery
6+
celery_bin: "{{python_virtualenv}}/bin/celery"

tasks/main.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
- name: Manage Directories
3+
include_tasks: manage_paths.yml
4+
5+
- name: Manage Config Files
6+
include_tasks: manage_configs.yml
7+
8+
- name: Manage systemd Service Units
9+
include_tasks: manage_service_units.yml

tasks/manage_configs.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
- name: Configure Celery EnvironmentFile
3+
template: src=celery_env.j2 dest="{{celery_env_dir}}/{{item.name}}"
4+
notify: "restart celery service"
5+
with_items: "{{celery_services}}"

tasks/manage_paths.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
---
2+
- name: Ensure Celery Env Dir exists
3+
file:
4+
path: "{{celery_env_dir}}"
5+
state: directory
6+
owner: "{{app_user}}"
7+
group: "{{app_user}}"
8+
mode: 0755
9+
10+
- name: Ensure Celery Log Dir exists
11+
file:
12+
path: "{{celery_log_dir}}"
13+
state: directory
14+
owner: "{{app_user}}"
15+
group: "{{app_user}}"
16+
mode: 0755
17+
18+
- name: Ensure Celery Run Dir exists
19+
file:
20+
path: "{{celery_run_dir}}"
21+
state: directory
22+
owner: "{{app_user}}"
23+
group: "{{app_user}}"
24+
mode: 0755

tasks/manage_units.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
- name: Configure Celery systemd service unit
3+
template: src=celery.service.j2 dest="/etc/systemd/system/{{item.name}}.service"
4+
notify: restart celery service
5+
with_items: "{{celery_services}}"

templates/celery.service.j2

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
[Unit]
2+
Description=Celery Service
3+
After=network.target
4+
5+
[Service]
6+
Type=forking
7+
User={{celery_user}}
8+
Group={{celery_user}}
9+
EnvironmentFile={{celery_env_dir}}/{{item.name}}
10+
WorkingDirectory={{celery_working_dir}}
11+
ExecStart=/bin/sh -c '${CELERY_BIN} multi start ${CELERYD_NODES} \
12+
-A ${CELERY_APP} --pidfile=${CELERYD_PID_FILE} \
13+
--logfile=${CELERYD_LOG_FILE} --loglevel=${CELERYD_LOG_LEVEL} ${CELERYD_OPTS}'
14+
ExecStop=/bin/sh -c '${CELERY_BIN} multi stopwait ${CELERYD_NODES} \
15+
--pidfile=${CELERYD_PID_FILE}'
16+
ExecReload=/bin/sh -c '${CELERY_BIN} multi restart ${CELERYD_NODES} \
17+
-A ${CELERY_APP} --pidfile=${CELERYD_PID_FILE} \
18+
--logfile=${CELERYD_LOG_FILE} --loglevel=${CELERYD_LOG_LEVEL} ${CELERYD_OPTS}'
19+
20+
[Install]
21+
WantedBy=celery.target

templates/celery_env.j2

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{{ansible_managed}}
2+
{% for k, v in item.environment.items()|sort %}
3+
{% if '__omit_place_holder__' not in v|string %}
4+
{{k}}='{{v}}'
5+
{% endif %}
6+
{% endfor %}

0 commit comments

Comments
 (0)