Atualmente a sincronização é toda feita de forma síncrona, entretanto, notou-se que a função groups_add_member deixa o processamento que era de 1.85s executando em 17.75 segundos.
Para diminuir este tempo é importante executar em um cronjob de forma assíncrona apenas a adição do usuário nos grupos. Atualmente, 4 grupos por diário e 4 por sala de coordenação, assim, em uma turma com 200 alunos serão 1600 inserts e disparará o evento que sinconiza os membros da grupo no Quiz e no Messaging.
Solução
Criar uma tabela que armazene JSON recebido (pode ser na íntegra) para posterior processamento via Moodle Task. 2. 2
Sempre que sincronizar, adicionar na tabela
Criar uma task para processar os que ainda não foram processados, pela ordem de inclusão.
Causa
Atualmente a sincronização é toda feita de forma síncrona, entretanto, notou-se que a função
groups_add_member
deixa o processamento que era de 1.85s executando em 17.75 segundos.Para diminuir este tempo é importante executar em um cronjob de forma assíncrona apenas a adição do usuário nos grupos. Atualmente, 4 grupos por diário e 4 por sala de coordenação, assim, em uma turma com 200 alunos serão 1600 inserts e disparará o evento que sinconiza os membros da grupo no Quiz e no Messaging.
Solução