Skip to content

Deployment and Maintenance / Admin Tools

This article mainly introduces how to use admin tools to maintain DataFlux Func.

1. Admin Tool admin-tool.py

DataFlux Func provides an admin tool to facilitate some emergency maintenance work.

The admin tool is included in the container and needs to be run using Docker exec. You can use --help to view specific usage:

Bash
1
docker exec -it {DataFlux Func Container ID} sh -c 'exec python admin-tool.py --help'
Text Only
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
usage: admin-tool.py [-h] [-f] [--admin-username ADMIN_USERNAME] [--admin-password ADMIN_PASSWORD] <Command>

+--------------------------+
| DataFlux Func Admin Tool |
+--------------------------+
This tool should run in the Docker container:
    $ docker exec {DataFlux Func Container ID} sh -c 'exec python admin-tool.py --help'
    $ docker exec -it {DataFlux Func Container ID} sh -c 'exec python admin-tool.py reset_admin [-f] [--admin-username=<Admin Username>] [--admin-password=<Password>]'
    $ docker exec -it {DataFlux Func Container ID} sh -c 'exec python admin-tool.py reset_upgrade_db_seq [-f]'
    $ docker exec -it {DataFlux Func Container ID} sh -c 'exec python admin-tool.py disable_ip_address_filter [-f]'
    $ docker exec -it {DataFlux Func Container ID} sh -c 'exec python admin-tool.py clear_redis [-f]'

positional arguments:
  <Command>             reset_admin, reset_upgrade_db_seq, disable_ip_address_filter, clear_redis, run_sql, call_api

options:
  -h, --help            show this help message and exit
  -f, --force           Force run, no confirm
  --admin-username ADMIN_USERNAME
                        Admin Username
  --admin-password ADMIN_PASSWORD
                        Admin Password

1.1 Reset Admin Password

Passwords for regular users can be reset directly by the system administrator. However, if the system administrator forgets their own password, they need to use the admin tool provided with DataFlux Func to reset it.

For details, please refer to Deployment and Maintenance / Admin Tools

1.2 Reset Database Upgrade Sequence Number

During installation/upgrade, DataFlux Func automatically updates the database structure and records the current database structure version sequence number.

In some cases, if this sequence number is incorrect, it may cause the system to fail to start normally. At this time, the admin tool needs to be used to correct it.

If you don't know what this is, please consult the official documentation before proceeding

The specific commands are as follows:

  • Outside the container
Bash
1
docker exec -it {DataFlux Func Container ID} sh -c 'exec python admin-tool.py reset_db_upgrade_seq'
  • Inside the container
Bash
1
cd /usr/src/app; python admin-tool.py reset_db_upgrade_seq

1.3 Disable IP Address Filtering

If you misconfigured in System Settings / IP Address Filtering, causing inability to access DataFlux Func.

You can use the following command to directly disable the IP address filtering function.

The specific commands are as follows:

  • Outside the container
Bash
1
docker exec -it {DataFlux Func Container ID} sh -c 'exec python admin-tool.py disable_ip_address_filter'
  • Or inside the container
Bash
1
cd /usr/src/app; python admin-tool.py disable_ip_address_filter

1.4 Clear Redis

If you encounter situations such as queue blockage requiring immediate recovery, or unreasonable script logic causing excessive cache, leading to inability to operate DataFlux Func.

You can use the following command to clear the Redis database.

Clearing Redis will not cause problems for the operation of DataFlux Func itself. However, running business code may depend on data in Redis. Please be sure to confirm before proceeding

The specific commands are as follows:

  • Outside the container
Bash
1
docker exec -it {DataFlux Func Container ID} sh -c 'exec python admin-tool.py clear_redis'
  • Or inside the container
Bash
1
cd /usr/src/app; python admin-tool.py clear_redis

2. Directly Operate Redis

If you need to operate Redis directly, you can enter the Redis terminal to perform operations.

The specific command is as follows:

Bash
1
docker exec -it {Redis Container ID} sh -c 'exec redis-cli -n 5'

DataFlux Func uses Redis database number 5 by default