Como posso gerir o uso de um recurso compartilhado usado por vários programas em Perl?

StackOverflow https://stackoverflow.com/questions/1210885

  •  06-07-2019
  •  | 
  •  

Pergunta

Eu estou procurando uma boa maneira de gerenciar o acesso a um servidor FTP externo a partir de vários programas em um único servidor. Atualmente estou trabalhando com um arquivo de bloqueio, de modo que apenas um processo pode usar o servidor ftp de cada vez. O que seria uma boa maneira de permitir 2-3 processos paralelos para acessar o servidor ftp simultaneamente. Infelizmente o provedor não permite mais sessões e bloqueia a minha conta por um dia se muitos processos de acessar seus servidores. plataformas usados ??são Solaris e Linux - todo o acesso ftp é encapsulado em uma única biblioteca, portanto, há apenas 1 função que eu preciso mudar. Seria bom se há algo no CPAN.

Foi útil?

Solução

Eu olhar para perlipc (1) para semáforos SystemV ou módulos como POSIX :: RT :: Semaphore para semáforos POSIX. Eu criar um semáforo com uma contagem de recursos de 2-3, e depois nos diferentes tentativa processo para obter o semáforo.

Outras dicas

Em vez de fazer um monte de programas de esperar na fila, você pode criar um programa local que lidou com toda a comunicação remota, enquanto os programas locais falou com ele? Você efetivamente criar um proxy e empurrar essa complexidade longe de seus programas para que você não tem que lidar com isso em cada programa.

Eu não sei as outras restrições sobre o seu problema, mas isso tem funcionado para mim em questões semelhantes.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top