Нужен хук на изменение файлов, при котором будет запускаться внешний скрипт. Вот варианты в порядке увеличения сложности и геморности:
1) crontab на проверку изменения файла и запуск скрипта
2) использовать ftp-шник с нужным функционалом запуска внешнего скрипта (
pureftpd умеет).
3) libnotify и отслеживание изменений файловой системы
4) самопальный отдельный ftp-сервер на том же python-е, который будет обрабатывать только нужные вам соединения. Не так уж и трудно с учетом всяких pyftpdlib, twistd.
5) обычный ftp-шник с перенаправлением логирования на именованный канал. А этот канал вы будете проверять на наличие строки типа "file xls uploaded" и запускать обработчик.
Я могу еще придумать кучу решений этой задачи с использование SNMP, различных файловых систем, email-нотификаций (
pureftp вроде умеет) но если у вас есть запущенный сайт, то я бы убедил клиента использовать http вместо ftp, а в серверной части вы бы обработали как надо. Ну или после отправки файла на клиентской стороне инициировать http-запрос к вашему сервису после загрузки файла, по которому запускается скрипт.