Esempio n. 1
0
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)
Esempio n. 2
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)
Esempio n. 3
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')
Esempio n. 4
0
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)
Esempio n. 5
0
 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')
Esempio n. 6
0
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))