Sponsored Content
Top Forums Shell Programming and Scripting Same time ftp download in perl multiple sites. Post 302277441 by kofs79 on Friday 16th of January 2009 09:43:38 AM
Old 01-16-2009
So you think I would have to have the subroutine in it's own script and just run it in the background? My main script has other functions but I can try to run this again calling the ftp portion &.

Do I even want to use threads in this then? I was just calling my subroutine `&ftp_go_and_get $ARG1 $ARG2 $ARG3 $ARG4` before but that did not give me the desired results either.

I have started to look at fork() this but have never myself done it.

As for bandwidth the total of all the files is under 40k and it is not really an issue for this.
 

9 More Discussions You Might Find Interesting

1. SuSE

When a FTP download is completed

I receive files by FTP in an input directory. Every 10 seconds a process checks if some new file has arrived to the input directory and then the process moves them to another directory to be read by a second process. The problem is that there is no way to know if the download has finished... (11 Replies)
Discussion started by: Javi
11 Replies

2. HP-UX

Ftp Download Problem

FROM WINDOWS , WHILE GETTING DATA FROM HP-UNIX SERVER USING FTP, I AM ABLE TO GET DATA ONLY LESS THAN 4GB FILE, PLZ HELP ME HOW TO GET MORE MORE THAN 4GB FILE. (4 Replies)
Discussion started by: niranjan
4 Replies

3. Shell Programming and Scripting

Corrupted Download with Net::FTP (perl)

Hello, I am trying to download several files from a remote FTP server using Net::FTP from within a perl script. The files download alright, except they appear to be corrupted. I know this because once after downloading, I use bzcat to pipe the files to a split command, and bzcat complains saying... (3 Replies)
Discussion started by: amcrisan
3 Replies

4. Shell Programming and Scripting

ftp multiple files at the same time

Hi All, I am using ncftpput in one of my c-shell script to upload files to a remote location. The source files keep coming continuosly and to upload each file ncftpput opens a new connection everytime. It means ncftp uploads the file1 than file2 than file3 .... There is gap 20-25 secs between... (10 Replies)
Discussion started by: sraj142
10 Replies

5. Shell Programming and Scripting

Please suggest the Sites for perl script beginners for better understanding

I am begginer to perl scripting, i like to learn all the functionality of the perl scrpting , Could you please help me on this :confused::confused: (2 Replies)
Discussion started by: jothi basu
2 Replies

6. Programming

Multiple sites running off same code

I m interested in making multiple websites, all with the same basic functionality but will have different designs or templates. is there a way they can all run off the same basic underlying code, but use different templates. what is the best method of doing this. (1 Reply)
Discussion started by: AimyThomas
1 Replies

7. Shell Programming and Scripting

Ftp multiple files one at a time

Hi, I have a problem while ftp'ing zip files one after the other from linux source directory to a ftp host machine. here is the shell script: #!/bin/ksh dir=data/dir1/dir2 # this dir is linux source directory where zip files located. rmtdir='/home/' echo $dir for i in /$dir/*; do if ;... (7 Replies)
Discussion started by: raj78
7 Replies

8. Shell Programming and Scripting

FTP download using perl script

Need assistance I have a script which i can download the files from ftp server using perl . But i want to download multiple files at a time #!/usr/bin/perl -w use Net::FTP; $ftp = Net::FTP->new("ftp.ncdc.noaa.gov"); $ftp->login('username', 'password'); $ftp->cwd("<dir>");... (9 Replies)
Discussion started by: ajayram_arya
9 Replies

9. Shell Programming and Scripting

Read latest file name with a date and time and then download from FTP

Hi All, Please help. I have requirement to read the file / folder based on the latest date and download the file and folder. There will be files and folders in the location like 20140630-144422 20140630-144422.csv 20140707-182653 20140707-182653.csv 20140710-183153... (7 Replies)
Discussion started by: Praveen Pandit
7 Replies
POE::Wheel::ListenAccept(3pm)				User Contributed Perl Documentation			     POE::Wheel::ListenAccept(3pm)

NAME
POE::Wheel::ListenAccept - accept connections from regular listening sockets SYNOPSIS
See "SYNOPSIS" in POE::Wheel::SocketFactory for a simpler version of this program. #!perl use warnings; use strict; use IO::Socket; use POE qw(Wheel::ListenAccept Wheel::ReadWrite); POE::Session->create( inline_states => { _start => sub { # Start the server. $_[HEAP]{server} = POE::Wheel::ListenAccept->new( Handle => IO::Socket::INET->new( LocalPort => 12345, Listen => 5, ), AcceptEvent => "on_client_accept", ErrorEvent => "on_server_error", ); }, on_client_accept => sub { # Begin interacting with the client. my $client_socket = $_[ARG0]; my $io_wheel = POE::Wheel::ReadWrite->new( Handle => $client_socket, InputEvent => "on_client_input", ErrorEvent => "on_client_error", ); $_[HEAP]{client}{ $io_wheel->ID() } = $io_wheel; }, on_server_error => sub { # Shut down server. my ($operation, $errnum, $errstr) = @_[ARG0, ARG1, ARG2]; warn "Server $operation error $errnum: $errstr "; delete $_[HEAP]{server}; }, on_client_input => sub { # Handle client input. my ($input, $wheel_id) = @_[ARG0, ARG1]; $input =~ tr[a-zA-Z][n-za-mN-ZA-M]; # ASCII rot13 $_[HEAP]{client}{$wheel_id}->put($input); }, on_client_error => sub { # Handle client error, including disconnect. my $wheel_id = $_[ARG3]; delete $_[HEAP]{client}{$wheel_id}; }, } ); POE::Kernel->run(); exit; DESCRIPTION
POE::Wheel::ListenAccept implements non-blocking accept() calls for plain old listening server sockets. The application provides the socket, using some normal means such as socket(), IO::Socket::INET, or IO::Socket::UNIX. POE::Wheel::ListenAccept monitors the listening socket and emits events whenever a new client has been accepted. Please see POE::Wheel::SocketFactory if you need non-blocking connect() or a more featureful listen/accept solution. POE::Wheel::ListenAccept only accepts client connections. It does not read or write data, so it neither needs nor includes a put() method. POE::Wheel::ReadWrite generally handles the accepted client socket. PUBLIC METHODS
new new() creates a new POE::Wheel::ListenAccept object for a given listening socket. The object will generate events relating to the socket for as long as it exists. new() accepts two required named parameters: Handle The "Handle" constructor parameter must contain a listening socket handle. POE::Wheel::FollowTail will monitor this socket and accept() new connections as they arrive. AcceptEvent "AcceptEvent" is a required event name that POE::Wheel::ListenAccept will emit for each accepted client socket. "PUBLIC EVENTS" describes it in detail ErrorEvent "ErrorEvent" is an optional event name that will be emitted whenever a serious problem occurs. Please see "PUBLIC EVENTS" for more details. event event() allows a session to change the events emitted by a wheel without destroying and re-creating the object. It accepts one or more of the events listed in "PUBLIC EVENTS". Undefined event names disable those events. Ignore connections: sub ignore_new_connections { $_[HEAP]{tailor}->event( AcceptEvent => "on_ignored_accept" ); } sub handle_ignored_accept { # does nothing } ID The ID() method returns the wheel's unique ID. It's useful for storing the wheel in a hash. All POE::Wheel events should be accompanied by a wheel ID, which allows the wheel to be referenced in their event handlers. sub setup_listener { my $wheel = POE::Wheel::ListenAccept->new(... etc ...); $_[HEAP]{listeners}{$wheel->ID} = $wheel; } PUBLIC EVENTS
POE::Wheel::ListenAccept emits a couple events. AcceptEvent "AcceptEvent" names the event that will be emitted for each newly accepted client socket. It is accompanied by three parameters: $_[ARG0] contains the newly accepted client socket handle. It's up to the application to do something with this socket. Most use cases involve passing the socket to a POE::Wheel::ReadWrite constructor. $_[ARG1] contains the accept() call's return value, which is often the encoded remote end of the remote end of the socket. $_[ARG2] contains the POE::Wheel::ListenAccept object's unique ID. This is the same value as returned by the wheel's ID() method. A sample "AcceptEvent" handler: sub accept_state { my ($client_socket, $remote_addr, $wheel_id) = @_[ARG0..ARG2]; # Make the remote address human readable. my ($port, $packed_ip) = sockaddr_in($remote_addr); my $dotted_quad = inet_ntoa($packed_ip); print( "Wheel $wheel_id accepted a connection from ", "$dotted_quad port $port. " ); # Spawn off a session to interact with the socket. create_server_session($handle); } ErrorEvent "ErrorEvent" names the event that will be generated whenever a new connection could not be successfully accepted. This event is accompanied by four parameters: $_[ARG0] contains the name of the operation that failed. This usually is 'accept', but be aware that it's not necessarily a function name. $_[ARG1] and $_[ARG2] hold the numeric and stringified values of $!, respectively. POE::Wheel::ListenAccept knows how to handle EAGAIN (and system-dependent equivalents), so this error will never be returned. $_[ARG3] contains the wheel's unique ID, which may be useful for shutting down one particular wheel out of a group of them. A sample "ErrorEvent" event handler. This assumes the wheels are saved as in the "ID" example. sub error_state { my ($operation, $errnum, $errstr, $wheel_id) = @_[ARG0..ARG3]; warn "Wheel $wheel_id generated $operation error $errnum: $errstr "; delete $_[HEAP]{listeners}{$wheel_id}; } SEE ALSO
POE::Wheel describes the basic operations of all wheels in more depth. You need to know this. POE::Wheel::ReadWrite for one possible way to handle clients once you have their sockets. The SEE ALSO section in POE contains a table of contents covering the entire POE distribution. BUGS
None known. AUTHORS &; COPYRIGHTS Please see POE for more information about authors and contributors. perl v5.14.2 2012-05-15 POE::Wheel::ListenAccept(3pm)
All times are GMT -4. The time now is 04:23 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy