Switch over to phusion baseimage. Prevent everything from daemonizing and start it with runit under phusion. Make workers trap and handle sigint and sigterm. Extend the reservation to 1hr for dockerfilebuild. Update nginx to remove the dependency on libgd. Merge the requirements and requirements enterprise files.
This commit is contained in:
parent
14fba3ae7c
commit
576fbe4f0d
17 changed files with 87 additions and 63 deletions
|
@ -1,5 +1,4 @@
|
|||
import logging
|
||||
import daemon
|
||||
import argparse
|
||||
import requests
|
||||
import json
|
||||
|
@ -37,25 +36,16 @@ class WebhookWorker(Worker):
|
|||
|
||||
|
||||
parser = argparse.ArgumentParser(description='Worker daemon to send webhooks')
|
||||
parser.add_argument('-D', action='store_true', default=False,
|
||||
help='Run the worker in daemon mode.')
|
||||
parser.add_argument('--log', default='webhooks.log',
|
||||
help='Specify the log file for the worker as a daemon.')
|
||||
parser.add_argument('--log', help='Specify the log file for the worker as a daemon.')
|
||||
args = parser.parse_args()
|
||||
|
||||
if args.log is not None:
|
||||
handler = logging.FileHandler(args.log)
|
||||
else:
|
||||
handler = logging.StreamHandler()
|
||||
handler.setFormatter(formatter)
|
||||
root_logger.addHandler(handler)
|
||||
|
||||
worker = WebhookWorker(webhook_queue, poll_period_seconds=15,
|
||||
reservation_seconds=3600)
|
||||
|
||||
if args.D:
|
||||
handler = logging.FileHandler(args.log)
|
||||
handler.setFormatter(formatter)
|
||||
root_logger.addHandler(handler)
|
||||
with daemon.DaemonContext(files_preserve=[handler.stream]):
|
||||
worker.start()
|
||||
|
||||
else:
|
||||
handler = logging.StreamHandler()
|
||||
handler.setFormatter(formatter)
|
||||
root_logger.addHandler(handler)
|
||||
worker.start()
|
||||
worker.start()
|
Reference in a new issue