def main(): container_role = ':' + os.environ.get('CONTAINERROLE', '') + ':' if ':all:' in container_role or ':cron:' in container_role: (redis_host, redis_port, redis_password, redis_offset, redis_cli) = parse_redis_uri() r = redis.StrictRedis(host=redis_host, port=redis_port, db=redis_offset, password=redis_password) if r.get('da:skip_create_tables'): sys.stderr.write("restart: skipping create_tables\n") r.delete('da:skip_create_tables') else: import docassemble.webapp.create_tables docassemble.webapp.create_tables.main() if ':cron:' in container_role: r.delete('da:cron_restart') webapp_path = daconfig.get( 'webapp', '/usr/share/docassemble/webapp/docassemble.wsgi') cloud = get_cloud() if cloud is not None: key = cloud.get_key('config.yml') if key.does_exist: key.get_contents_to_filename(daconfig['config file']) sys.stderr.write("Wrote config file based on copy on cloud\n") wsgi_file = webapp_path if os.path.isfile(wsgi_file): with open(wsgi_file, 'a', encoding='utf-8'): os.utime(wsgi_file, None) sys.stderr.write("Restarted.\n") sys.exit(0)
def main(): container_role = ':' + os.environ.get('CONTAINERROLE', '') + ':' errlog("checking to see if running create_tables if necessary") if ':all:' in container_role or ':cron:' in container_role: (redis_host, redis_port, redis_username, redis_password, redis_offset, redis_cli, ssl_opts) = parse_redis_uri() r = redis.StrictRedis(host=redis_host, port=redis_port, db=redis_offset, password=redis_password, username=redis_username, **ssl_opts) if r.get('da:skip_create_tables'): logmessage("restart: skipping create_tables") r.delete('da:skip_create_tables') else: errlog("running create_tables") import docassemble.webapp.create_tables docassemble.webapp.create_tables.main() errlog("finished create_tables") if ':cron:' in container_role: r.delete('da:cron_restart') webapp_path = daconfig.get( 'webapp', '/usr/share/docassemble/webapp/docassemble.wsgi') cloud = get_cloud() if cloud is not None: key = cloud.get_key('config.yml') if key.does_exist: key.get_contents_to_filename(daconfig['config file']) logmessage("Wrote config file based on copy on cloud") wsgi_file = webapp_path if os.path.isfile(wsgi_file): errlog("touching wsgi file") with open(wsgi_file, 'a', encoding='utf-8'): os.utime(wsgi_file, None) errlog("Restarted.") sys.exit(0)
if 'expose websockets' in daconfig and daconfig['expose websockets']: print('export DAEXPOSEWEBSOCKETS=true') if 'websockets ip' in daconfig and daconfig['websockets ip']: print('export DAWEBSOCKETSIP="' + str(daconfig['websockets ip']) + '"') if 'stable version' in daconfig and daconfig['stable version']: print('export DASTABLEVERSION=true') if 'nginx ssl protocols' in daconfig and daconfig['nginx ssl protocols']: print('export DASSLPROTOCOLS=' + str(daconfig['nginx ssl protocols'])) if 'websockets port' in daconfig and daconfig['websockets port']: print('export DAWEBSOCKETSPORT=' + str(daconfig['websockets port'])) else: print('export DAWEBSOCKETSPORT=5000') if 'redis' in daconfig and daconfig['redis'] is not None: print('export REDIS="' + str(daconfig['redis']) + '"') (redis_host, redis_port, redis_password, redis_offset, redis_cli) = parse_redis_uri() print('export REDISCLI="' + str(redis_cli) + '"') if 'rabbitmq' in daconfig and daconfig['rabbitmq'] is not None: print('export RABBITMQ="' + str(daconfig['rabbitmq']) + '"') if 'backup days' in daconfig: try: days = int(daconfig['backup days']) assert days >= 0 except: days = 14 print('export DABACKUPDAYS="' + str(days) + '"') else: print('export DABACKUPDAYS="14"') if 's3' in daconfig: if 'enable' in daconfig['s3'] and daconfig['s3']['enable']: print('export S3ENABLE=true')
import redis from docassemble.base.config import parse_redis_uri (redis_host, redis_port, redis_username, redis_password, redis_offset, redis_cli, ssl_opts) = parse_redis_uri() r = redis.StrictRedis(host=redis_host, port=redis_port, db=redis_offset, password=redis_password, username=redis_username, **ssl_opts) r_store = redis.StrictRedis(host=redis_host, port=redis_port, db=1 + redis_offset, password=redis_password, username=redis_username, **ssl_opts) r_user = redis.StrictRedis(host=redis_host, port=redis_port, db=2 + redis_offset, password=redis_password, username=redis_username, **ssl_opts)
if 'update on start' in daconfig: if daconfig['update on start'] is False: print('export DAUPDATEONSTART=false') elif daconfig['update on start'] == 'initial': print('export DAUPDATEONSTART=initial') if 'expose websockets' in daconfig and daconfig['expose websockets']: print('export DAEXPOSEWEBSOCKETS=true') if 'websockets ip' in daconfig and daconfig['websockets ip']: print('export DAWEBSOCKETSIP="' + str(daconfig['websockets ip']) + '"') if 'websockets port' in daconfig and daconfig['websockets port']: print('export DAWEBSOCKETSPORT=' + str(daconfig['websockets port'])) else: print('export DAWEBSOCKETSPORT=5000') if 'redis' in daconfig and daconfig['redis'] is not None: print('export REDIS="' + str(daconfig['redis']) + '"') (redis_host, redis_port, redis_password, redis_offset, redis_cli) = parse_redis_uri() print('export REDISCLI="' + str(redis_cli) + '"') if 'rabbitmq' in daconfig and daconfig['rabbitmq'] is not None: print('export RABBITMQ="' + str(daconfig['rabbitmq']) + '"') if 'backup days' in daconfig: try: days = int(daconfig['backup days']) assert days >= 0 except: days = 14 print('export DABACKUPDAYS="' + str(days) + '"') else: print('export DABACKUPDAYS="14"') if 's3' in daconfig: if 'enable' in daconfig['s3'] and daconfig['s3']['enable']: print('export S3ENABLE=true')
import redis from docassemble.base.config import parse_redis_uri (redis_host, redis_port, redis_username, redis_password, redis_offset, redis_cli, ssl_opts) = parse_redis_uri() r = redis.StrictRedis(host=redis_host, port=redis_port, db=redis_offset, password=redis_password, username=redis_username, **ssl_opts) r_store = redis.StrictRedis(host=redis_host, port=redis_port, db=1 + redis_offset, password=redis_password, username=redis_username, **ssl_opts) r_user = redis.StrictRedis(host=redis_host, port=redis_port, db=2 + redis_offset, password=redis_password, username=redis_username, **ssl_opts) # def clear_user_cache(user_id=None): # if user_id is None: # keys_to_delete = [y.decode() for y in r.keys('da:usercache:*')] # for key in keys_to_delete: # r.delete(key) # else: # r.delete('da:usercache:' + str(user_id))