Configuración de tareas de sincronización de descarga asincrónica

Las tareas de sincronización de Linux usan cronb para ejecutar el script bash.sh en 3 segundos

Una frase de index.php Task run escrita en el script bash.sh. Puede activar el método de ejecución del controlador de tareas. El código fuente del archivo de entrada de tp3.2 está escrito en index.php

Aquí es para ejecutar el archivo php directamente, pero no a través de apache, por lo que no habrá procesamiento de tiempo de espera


Desarrolle tareas que requieran mucho tiempo para exportar excle. Porque las estadísticas consumen más tiempo.

Exportar código de archivo

Cree un controlador ExportLogic y escriba un método orderExp: escribe estadísticas de la base de datos y descarga el código exel.
Inserte la descripción de la imagen aquí

Cuando el usuario hace clic en exportar, la tarea se entrega y salta al centro de descargas.

        $this->getWxRedis()->lpush('k8s_queue',serialize([
            'type' => 'func_job',
            'func' => 'orderExpAsnyTask',
            'data' => [
                'userid'=>1,
            ]
        ]));

Y escriba los datos en la tabla de registros de descarga.
Inserte la descripción de la imagen aquí

Cree un nuevo controlador de tareas de la siguiente manera:
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Los registros salen de la cola en redis, y cuando salen los registros, func ejecuta el método exportXlsx para exportXlsx. Este controlador de tareas está escrito para llamar al método orderExpAsnyTask en el método Task. Luego, el método orderExpAsnyTask llama al método orderExp del controlador ExportLogic.

Supongo que te gusta

Origin blog.csdn.net/minihuabei/article/details/111314866
Recomendado
Clasificación