Coder101 0 Denunciar post Postado Fevereiro 14, 2008 Boa tarde galera; Gostaria de uma ajuda da galera na soluçao de um problema: 1-Possuo determinadas tarefas classificadas por tipo e possuindo uma unica id, populados por informaçoes garimpadas do banco ex: Tarefa 1 - - tipo A Tarefa 2 - - tipo B Tarefa 3 - - tipo A Tarefa 4 - - tipo A 2-Possuo uma quantidade determinada dinamicamente de usuarios ativos, populados por informaçoes do BD: usuario 1 usuario 2 3- Disitribuiçõ deve ser feita uniformemente, levando em consideração o tipo da task 4- Deve ser executado de 5 em 5 minutos dentro de um servidor windows rodando php Problema: Quando rodar o algoritmo o mesmo deve pegar a quantidade de novas tarefas no banco e distribuir uniformemente entre os usuarios ativos naquele momento. Vamos supor que na primeira rodada de distribuicao os 2 usuarios que eu citei como exemplo recebam cada um uma tarefa do tipo A, a proxima tarefa do tipo A deve voltar para um dos usuarios, a não ser que se ative um novo usuario. Caso nossas tarefas sejam 2 de mesmo tipo e nossos usuarios sejam um total de 3, um dos usuarios ficara pendente da tarefa do mesmo tipo que a dos outros 2. Considerando o mesmo cenario anterior, quando recebemos uma nova tarefa distinta da que ja foi distribuida anteriormente, a mesma levara em consideraçao qual usuario nao possui determinada tarefa e nao quantas tarefas cada usuario tem. Portanto, como temos 3 usuarios com a tarefa B zerada, podemos escolher qualquer um deles para colocar a tarefa. A questao é, como implementar isto no codigo PHP para fazer este balanceamento de carga Compartilhar este post Link para o post Compartilhar em outros sites
Marcio Leandro 0 Denunciar post Postado Fevereiro 14, 2008 Desculpe, não entendi sua dúvida. E isso aí é sobre banco de dados? Compartilhar este post Link para o post Compartilhar em outros sites
Coder101 0 Denunciar post Postado Fevereiro 14, 2008 Desculpe, não entendi sua dúvida. E isso aí é sobre banco de dados? É o seguinte, tenho um sistema que envia forms Cada form deve ser atribuido a um usuario ativo no sistema para tratamento das informacoes Como um chamado de help desk Determinadas tarefas sao mais frequentes que outras, e outras sao mais complexas. Tenho que balancea-las a fim de tornar eficiente o trabalho de meus usuarios. Compartilhar este post Link para o post Compartilhar em outros sites
Marcio Leandro 0 Denunciar post Postado Fevereiro 14, 2008 Na tabela de tarefas, crie um campo, que indica que: Contendo NULL => tarefa não está atribuída, participará da atribuição a usuários. Contendo id_usuario => tarefa já atribuída a um usuário. Acho que não é isso né? Calma, aos poucos chegaremos ao X da questão :blink: Compartilhar este post Link para o post Compartilhar em outros sites
Coder101 0 Denunciar post Postado Fevereiro 14, 2008 Na tabela de tarefas, crie um campo, que indica que: Contendo NULL => tarefa não está atribuída, participará da atribuição a usuários. Contendo id_usuario => tarefa já atribuída a um usuário. Acho que não é isso né? Calma, aos poucos chegaremos ao X da questão :blink: Faz sentido, discuti com amigos a respeito: Verificações: - Devemos estocar as novas tarefas que estao entrando em uma tabela a parte - Devemos estocar os usuarios ativos em uma tabela para verificarmos quem esta ativo - Precisamos saber quantas tarefas cada usuario tem - Precisamos saber quem foi o ultimo a receber a tarefa de determinado tipo Algo mais? Podiamos colocar isso como um desafio pra galera, http://forum.imasters.com.br/public/style_emoticons/default/grin.gif Compartilhar este post Link para o post Compartilhar em outros sites
Marcio Leandro 0 Denunciar post Postado Fevereiro 14, 2008 Sim: Precisamos saber quantas tarefas cada um tem. Compartilhar este post Link para o post Compartilhar em outros sites
Coder101 0 Denunciar post Postado Fevereiro 14, 2008 Sim: Precisamos saber quantas tarefas cada um tem. Poderiamos usar uma tabela de modo a armazenar um valor dinamico nos dizendo o montante de tarefas atribuidas aquele usuario até o determinado momento da consulta. Problema -quais os criterios para atualizar esse montante Compartilhar este post Link para o post Compartilhar em outros sites