Переход к следующему объекту в цикле for через n секунд?

ладно, так что я здесь немного не в себе.

Это мой код:

      
profiles = [profiles here]
f_profiles = [formatted profiles go here, this is useless, im just doing this to make the printing stuff look more pretty]

DAILY_SCHEDULED_TIME = "6:00"


def routine():

    print(colored(f"Getting from {f_profiles}"))
    for profile in profiles:
        print(colored(f"\nFetching from: {profile}\n"))
        os.system(f"instaloader {profile} --no-video-thumbnails --no-captions --no-metadata-json --no-compress-json --no-profile-pic --dirname-pattern={os.getcwd()}\\media\\")

def attemptRoutine():
    while(1):
        try:
            routine()
            break
        except OSError as err:
            print("Routine Failed on " + "OS error: {0}".format(err))
            time.sleep(60*60)

#attemptRoutine()
schedule.every().day.at("06:00").do(attemptRoutine)

attemptRoutine()
while True:
    schedule.run_pending()  
    time.sleep(60) # wait one min

он просто загружает мемы, чтобы другой мой сценарий мог отправлять их в виде SMS на мой телефон.

По сути, моя проблема в том, что этот сценарий продолжается вечно. Он загрузит сотни фотографий и видео из профиля, когда мне действительно нужно около 12 на пользователя.

Я здесь в замешательстве, потому что это цикл for для всех профилей в профилях, поэтому мне нужен способ прекратить то, что я делаю с одним профилем, чтобы он мог перейти к следующему через определенное время.

например

      profile 1 -> Downloading memes. 
(20 secs pass)
profile 1 -> quits -> profile 2 starts

etc and etc

но что сейчас происходит:

      profile 1 -> Downloading memes
(20 secs pass)
profile 1 -> Downloading Memes
(1 hour pass)
profile 1 -> Downloading memes
etc etc

это потому, что, как я сказал выше, в профилях есть 100 из 1000 фотографий и видео. ооочень, это небольшая проблема.

Как я могу это сделать??

TL;DR Я хочу сделать таймер в цикле for. чтобы он мог остановить свои действия и продолжить работу с другим объектом в списке (цикл for) через определенное время

По сути, я хочу перейти к следующей итерации цикла for после секунд.

Если кто-то может помочь, пожалуйста, сделайте это, любая и вся помощь будет признательна, хотя, если бы вы могли уточнить, что я должен делать, как это работает или что-то в этом роде, это также было бы признательно.

Спасибо!

1 ответ

Если в вашем коде используется установщик , то похоже, что в документации указано, что существует --count параметр, в котором вы можете указать количество сообщений для загрузки:

      --count COUNT, -c
Do not attempt to download more than COUNT posts. Applies to #hashtag, %location_id, :feed, and :saved.
Другие вопросы по тегам