Я хочу создать скрипт, который узнает, какие файлы на FTP-сервере новые, а какие уже обработаны.
Для каждого файла на FTP мы считываем информацию, анализируем ее и записываем необходимую нам информацию в нашу базу данных. Файлы представляют собой xml-файлы, но должны быть переведены.
В данный момент я использую mlsd()
для получения списка, но это занимает до 4 минут, потому что в этом каталоге уже 15.000 файлов - это будет более ежедневно.
Вместо того, чтобы сравнивать этот список со старым списком, который я сохранил в текстовом файле, я хотел бы знать, есть ли лучшие возможности.
Поскольку эта задача должна выполняться «вживую», она будет заканчиваться cronjob каждые 1-2 минуты. Если этот метод занимает много времени, это не сработает.
Решение должно быть на PHP или Python.
def handle(self, *args, **options):
ftp = FTP_TLS(host=host)
ftp.login(user,passwd)
ftp.prot_p()
list = ftp.mlsd("...")
for item in list:
print(item[0] + " => " + item[1]['modify'])
Этот пример кода уже выполняется 4 минуты.