Paralelo :: Depend.

Despacho dependente-paralelo do Código Perl ou Shell
Baixe Agora

Paralelo :: Depend. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Perl Artistic License
  • Preço:
  • FREE
  • Nome do editor:
  • Steven Lembark
  • Site do editor:
  • http://search.cpan.org/~lembark/

Paralelo :: Depend. Tag


Paralelo :: Depend. Descrição

Despacho dependente-paralelo do Código Perl ou Shell Paralelo :: Dependem de um módulo Perl que faz o despacho paralelo e dependente de métodos Perl, funções Perl, blocos de código inline ou comandos externos de shell. A sintaxe de programação é derivada de make, mas não exige que todos os trabalhos sejam embrulados no código do shell para executar e também suportam sub-horários ("grupos") que são despachados como uma unidade. Histórico de execução, incluindo stdout e stderr de cada trabalho, é mantido em arquivos por trabalho para acesso mais simples após o facto.synopsis pacote mina; Use a base QW (paralela :: Depend tudo o que :: mais); meu $ gerente = meu-> construtificar (@whate); Meu @Argz = (# Atribua valores a atributos Reiniciar => '' ', # Reinicie a Força de Fila de Processo =>' ', # IGNORE / Sobrescrever Execução Anterior Verbose => 1, # Quiet (0), Progresso (1), Detalhe (2). Debug => 0, # DB :: único conjunto antes da primeira parse, despache Nofork => '', # Single-stream, útil para testes. MaxJobs => 8, # 0 => ilimitado, x <0 => Nopork. Fork_Ttys => '', # usado para $ db :: fork_tty com perl debugger autoload => '', # escolha entre autoload e shell logdir => "$ bin /../ var / log", # stderr. , arquivos STDOUT RUNDIR => "$ bin /../ var / run", # Arquivos de status do trabalho sett => ('bar') bim = {seu código aqui} # $ anon_sub -> ('bim') Bam = / caminho / para / shell # sistema ('/ caminho / para / shell', 'bam') este = ./blah -a -b # sistema ('./blah -a -b', 'este') # exemplo de Reutilizando um alias: zip A # MaxJobs arquivos em paralelo. /tmp/bakcup/bigdump.aa = squishcupcup/bigdump.ab = squishcup / tmp/bakcup/bigdump.ac = squish /tmp/bakcup/bigdump.ad = squish /tmp/bakcupccup/bigdump.ae = squishrish /tmp/bakcupccup/bigdump.af = squish / tm p / bakcup / bigdump.aa: /tmp/bakcup/bigdump.ab: /tmp/bakcup/bigdump.ac: /bakcupcup/bigdump.ad: /tmp/bakcup/bigdump.ae: / tmp / bakcup / bigdump O .AF: # Os grupos são subconjatores que têm seu nome de nomes populares para trabalhos, estão inteiramente skpped # em reinicialização se o grupo for concluído com sucesso, # e pode definir seus próprios atributos. PASS2 # Jobs resistentes. Pass2 # Todos estes podem ser executados em Pass2 # paralelo, sem danos dividindo-os pass2 # aliases definidos localmente: estes são pass2 # * Não é o mesmo que os trabalhos acima. Pass2 # Atributos podem ser definidos, aplicam-se a todos os níveis aninhados. útil dentro de grupos. # # Por exemplo, extraia o conteúdo de alguns arquivos, processá-los e limpe os resultados #. Cada grupo usa seu próprio alias # para lidar com os arquivos. MAXJOB% 0 # Garfos ilimitados Após # duas vias apenas para após o grupo anterior # alias padrão dentro do grupo após durante anterior # $ mgr-> extrato ('file1') anterior # $ mgr-> extrato ('file2') durante # $ mgr-> processo ('file1') durante # $ mgr -> Processo ('file2') após # $ mgr-> limpeza ('file1') após # $ mgr-> limpeza ('file2') # Atributos específicos do trabalho - principalmente para Controle # verbosidade ou bandeira de trabalho como instalação de horários ad-hoc. Este ~ ad_hoc # padrão para todos os atributos é 1 este ~ verbose 0 # ou adicione seu próprio valor que ~ verbose 2 # Como você pode ter adivinhado agora, texto após # Um sinal de hash não escapado não é tratado como um comentário.end) ; Meu $ Outcome = Eval {$ Manager-> Preparar (@argz); # Pare, valide a fila. $ gestor-> validar; # Verifique os deadlocks $ Manager-> Executar; # Faça a escritura "The End"} ou morrer $ @; ou apenas: $ Gestor-> Preparar (@Argz) -> Validar-> Execute; # Se você quiser derivar um novo objeto de um # novo e usá-lo para executar os trabalhos que ou adicionar # AD_HOC (por exemplo, classe de fábrica), então você deve compartilhar a fila para o novo objeto. sub derivar_new_object {my $ mgr = shift; meu $ derivado = $ mgr-> novo (@_); $ mgr-> Share_Queue ($ derivado); $ derivado} # Neste ponto, o objeto derivado usa # a mesma fila do original $ gerente # (não um clone, o mesmo). Executando # com $ derivado terá o mesmo efeito # na fila como gerente de $. $ derivado-> executar; Requisitos: · Perl.


Paralelo :: Depend. Software Relacionado