¿Evitar que ftplib descargue un archivo en curso?

Tenemos una configuración del sistema ftp para monitorear / descargar desde servidores ftp remotos que no están bajo nuestro control. El script se conecta al ftp remoto, y toma los nombres de los archivos en el servidor, luego verificamos si es algo que ya se ha descargado. Si no se ha descargado, descargamos el archivo y lo agregamos a la lista.

Recientemente nos encontramos con un problema, donde alguien en el lado remoto del ftp, copiará en un solo archivo masivo (> 1 GB), luego el script se despertará, verá un nuevo archivo y comenzará a descargar el archivo que se está copiando.

¿Cuál es la mejor manera de verificar esto? Estaba pensando en tomar el tamaño del archivo esperando unos segundos para verificar el tamaño del archivo nuevamente y ver si ha aumentado, si no lo ha hecho, entonces lo descargamos. Pero dado que el tiempo es motivo de preocupación, no podemos esperar unos segundos por cada conjunto de archivos y ver si ha aumentado su tamaño.

Cuál sería la mejor manera de hacerlo, actualmente todo se hace a través de pythons ftplib, ¿cómo podemos hacer esto además de usar el método antes mencionado?

Una vez más, permítanme reiterar esto, tenemos 0 control sobre los sitios ftp remotos.

Gracias.

ACTUALIZACIÓN1:

Estaba pensando qué pasaría si intentara cambiarle el nombre ... ya que tenemos permisos completos en el ftp, si la carga del archivo está en progreso, ¿fallaría el comando de cambio de nombre?

No tenemos opciones reales aquí ... ¿o sí?

ACTUALIZACIÓN2: Bueno, aquí hay algo interesante, algunos de los ftps que probamos parecen asignar automáticamente el espacio una vez que comienza la transferencia.

P.ej. Si transfiero un archivo de 200mb al servidor ftp. Mientras la transferencia está activa si me conecto al servidor ftp y hago un tamaño mientras se realiza la carga. Muestra 200mb para el tamaño. Aunque el archivo solo tiene un 10% de avance.

Los permisos también parecen estar configurados aleatoriamente. El servidor FTP que viene con IIS establece los permisos DESPUÉS de que el archivo haya terminado de copiarse. Mientras que algunos de los otros servidores ftp más antiguos lo configuran tan pronto como envía el archivo.

: '(