Horário :: Advisory.

um agendador de emprego consultivo, onde cada trabalho tem uma frequência de execução específica ou intervalo
Baixe Agora

Horário :: Advisory. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Perl Artistic License
  • Preço:
  • FREE
  • Nome do editor:
  • P. Kent
  • Site do editor:
  • http://search.cpan.org/~pkent/

Horário :: Advisory. Tag


Horário :: Advisory. Descrição

Um agendador de emprego consultivo, onde cada trabalho tem uma freqüência de execução específica ou intervalo Agenda :: Advisory é um módulo Perl que implementa um agendador para um conjunto de trabalhos, onde cada trabalho tem uma determinada frequência ou período de execução - isto é, deve ser executado uma vez a cada segundos. Este módulo pode determinar qual trabalho deve ser executado em seguida e informa ao chamador qual trabalho escolheu e quanto tempo (se em tudo) o chamador precisa esperar antes de iniciar o trabalho. Observe que este módulo não dorme () para você, ou invocar o próprio trabalho - essas tarefas são deixadas para o chamador, porque o chamador sabe como deve invocar um trabalho (por exemplo, tabela de despacho, ramificação condicional, um processo de trabalhador, ...), e se houver outros atrasos para serem contabilizados antes de iniciar o trabalho. É por isso que é um agendador "consultivo" - não importa uma programação em si.Você "algoritmo" para uma descrição de como o agendador escolhe empregos. Você pode adicionar e remover trabalhos a qualquer momento. Cada trabalho tem uma string de ID exclusiva que é usada para se referir ao trabalho. Você pode alterar a frequência de execução a qualquer momento. Você também pode recuperar uma lista de todos os IDs de trabalho no objeto e informações de tempo para cada.O módulo também tem uma instalação para espalhar trabalhos para fora para que eles não sejam agendados de uma vez, o que é especialmente relevante se você tiver muitos empregos com o mesmo período. O conjunto de módulos :: partição :: é usado, se disponível, para ajudar esta facilidade geralmente funciona melhor.Você pode opcionalmente armazenar alguns "userdata" contra cada trabalho. Este userData pode ser qualquer valor único (uma string, número, referência de hash, referência de matriz, etc.) e pode manter quaisquer dados associados ao trabalho. Você pode querer usar este recurso se o chamador não tiver acesso a dados necessários para concluir o trabalho. O USERDATA pode ser buscado, atualizado ou excluído a qualquer momento. Resolução de alta resolução Não é exigido por este módulo, é recomendável que você instale o tempo :: Hires no seu sistema. Ele fornece funções de sono () e tempo () que têm maior resolução e, portanto, proporcionam melhor precisão para o agendamento, embora isso seja especialmente relevante quando o intervalo entre os trabalhos é da ordem de segundos em vez de horas. O pacote global $ calendário :: Assessoria: : O FoundTimeHires é definido como 1 se o tempo :: Hires foi carregado, 0 Caso contrário.Synopsis use cronogramas :: Assessoria; # Você também pode querer usar o tempo :: Hires; Para um sono de alta resolução () My $ shecm = novo horário :: Advisory (); $ shecm-> Adicionar ('foo', 300, {'color' => 'vermelho'}); $ shecm-> Adicionar ('bar', 320, 'alguns userdata'); $ shecm-> Adicionar ('qux', 3600); $ shecm-> Remover ('qux'); $ shecm-> update_runperiod ('bar', 300); $ shadow-> spread; my @list_of_ids = $ shadow-> all_jobs; Meu ($ Lastrun, $ Nextrun, $ Período) = $ ENGMENT-> get_job_data ('foo'); Meu $ RV = $ shadow-> get_userdata ('foo'); $ shecm-> update_userdata ('foo', {'cor' => 'azul'}); $ shecm-> delete_userdata ('bar'); Enquanto ($ ALGUME_CONDITION) {MY ($ JURON_ID, $ DELAY, $ USERDATA) = $ SHIME-> NEXT_JOB; if ($ atraso) {sono ($ atraso); } do_somethething_to_invoke_job ($ job_id, $ userData); } Requisitos: · Perl.


Horário :: Advisory. Software Relacionado