|
- ; Notes:
- ; priority=1 --> Lower priorities indicate programs that start first and shut down last
- ; killasgroup=true --> send kill signal to child processes too
-
- ; graceful timeout should always be lower than stopwaitsecs to avoid orphan gunicorn workers.
- [program:{{ bench_name }}-xhiveframework-web]
- command={{ bench_dir }}/env/bin/gunicorn -b 127.0.0.1:{{ webserver_port }} -w {{ gunicorn_workers }} --max-requests {{ gunicorn_max_requests }} --max-requests-jitter {{ gunicorn_max_requests_jitter }} -t {{ http_timeout }} --graceful-timeout 30 xhiveframework.app:application --preload
- priority=4
- autostart=true
- autorestart=true
- stdout_logfile={{ bench_dir }}/logs/web.log
- stderr_logfile={{ bench_dir }}/logs/web.error.log
- stopwaitsecs=40
- killasgroup=true
- user={{ user }}
- directory={{ sites_dir }}
- startretries={{ supervisor_startretries }}
-
- [program:{{ bench_name }}-xhiveframework-schedule]
- command={{ bench_cmd }} schedule
- priority=3
- autostart=true
- autorestart=true
- stdout_logfile={{ bench_dir }}/logs/schedule.log
- stderr_logfile={{ bench_dir }}/logs/schedule.error.log
- user={{ user }}
- directory={{ bench_dir }}
- startretries={{ supervisor_startretries }}
-
- {% if not multi_queue_consumption %}
- [program:{{ bench_name }}-xhiveframework-default-worker]
- command={{ bench_cmd }} worker --queue default
- priority=4
- autostart=true
- autorestart=true
- stdout_logfile={{ bench_dir }}/logs/worker.log
- stderr_logfile={{ bench_dir }}/logs/worker.error.log
- user={{ user }}
- stopwaitsecs=1560
- directory={{ bench_dir }}
- killasgroup=true
- numprocs={{ background_workers }}
- process_name=%(program_name)s-%(process_num)d
- startretries={{ supervisor_startretries }}
- {% endif %}
-
- [program:{{ bench_name }}-xhiveframework-short-worker]
- command={{ bench_cmd }} worker --queue short{{',default' if multi_queue_consumption else ''}}
- priority=4
- autostart=true
- autorestart=true
- stdout_logfile={{ bench_dir }}/logs/worker.log
- stderr_logfile={{ bench_dir }}/logs/worker.error.log
- user={{ user }}
- stopwaitsecs=360
- directory={{ bench_dir }}
- killasgroup=true
- numprocs={{ background_workers }}
- process_name=%(program_name)s-%(process_num)d
- startretries={{ supervisor_startretries }}
-
- [program:{{ bench_name }}-xhiveframework-long-worker]
- command={{ bench_cmd }} worker --queue long{{',default,short' if multi_queue_consumption else ''}}
- priority=4
- autostart=true
- autorestart=true
- stdout_logfile={{ bench_dir }}/logs/worker.log
- stderr_logfile={{ bench_dir }}/logs/worker.error.log
- user={{ user }}
- stopwaitsecs=1560
- directory={{ bench_dir }}
- killasgroup=true
- numprocs={{ background_workers }}
- process_name=%(program_name)s-%(process_num)d
- startretries={{ supervisor_startretries }}
-
- {% for worker_name, worker_details in workers.items() %}
- [program:{{ bench_name }}-xhiveframework-{{ worker_name }}-worker]
- command={{ bench_cmd }} worker --queue {{ worker_name }}
- priority=4
- autostart=true
- autorestart=true
- stdout_logfile={{ bench_dir }}/logs/worker.log
- stderr_logfile={{ bench_dir }}/logs/worker.error.log
- user={{ user }}
- stopwaitsecs={{ worker_details["timeout"] }}
- directory={{ bench_dir }}
- killasgroup=true
- numprocs={{ worker_details["background_workers"] or background_workers }}
- process_name=%(program_name)s-%(process_num)d
- startretries={{ supervisor_startretries }}
- {% endfor %}
-
-
- {% if not skip_redis %}
- [program:{{ bench_name }}-redis-cache]
- command={{ redis_server }} {{ redis_cache_config }}
- priority=1
- autostart=true
- autorestart=true
- stdout_logfile={{ bench_dir }}/logs/redis-cache.log
- stderr_logfile={{ bench_dir }}/logs/redis-cache.error.log
- user={{ user }}
- directory={{ sites_dir }}
- startretries={{ supervisor_startretries }}
-
- [program:{{ bench_name }}-redis-queue]
- command={{ redis_server }} {{ redis_queue_config }}
- priority=1
- autostart=true
- autorestart=true
- stdout_logfile={{ bench_dir }}/logs/redis-queue.log
- stderr_logfile={{ bench_dir }}/logs/redis-queue.error.log
- user={{ user }}
- directory={{ sites_dir }}
- startretries={{ supervisor_startretries }}
- {% endif %}
-
- {% if node %}
- [program:{{ bench_name }}-node-socketio]
- command={{ node }} {{ bench_dir }}/apps/xhiveframework/socketio.js
- priority=4
- autostart=true
- autorestart=true
- stdout_logfile={{ bench_dir }}/logs/node-socketio.log
- stderr_logfile={{ bench_dir }}/logs/node-socketio.error.log
- user={{ user }}
- directory={{ bench_dir }}
- startretries={{ supervisor_startretries }}
- {% endif %}
-
- [group:{{ bench_name }}-web]
- programs={{ bench_name }}-xhiveframework-web {%- if node -%} ,{{ bench_name }}-node-socketio {%- endif%}
-
-
- {% if multi_queue_consumption %}
-
- [group:{{ bench_name }}-workers]
- programs={{ bench_name }}-xhiveframework-schedule,{{ bench_name }}-xhiveframework-short-worker,{{ bench_name }}-xhiveframework-long-worker{%- for worker_name in workers -%},{{ bench_name }}-xhiveframework-{{ worker_name }}-worker{%- endfor %}
-
- {% else %}
-
- [group:{{ bench_name }}-workers]
- programs={{ bench_name }}-xhiveframework-schedule,{{ bench_name }}-xhiveframework-default-worker,{{ bench_name }}-xhiveframework-short-worker,{{ bench_name }}-xhiveframework-long-worker{%- for worker_name in workers -%},{{ bench_name }}-xhiveframework-{{ worker_name }}-worker{%- endfor %}
-
- {% endif %}
-
- {% if not skip_redis %}
- [group:{{ bench_name }}-redis]
- programs={{ bench_name }}-redis-cache,{{ bench_name }}-redis-queue
- {% endif %}
|