Так что я пытаюсь создать словарь, в котором будет каждый продукт , который вы отслеживаете, когда что-то пополнится, он проверит этот словарь и посмотрит, есть ли там элемент, если нет, то добавит его , После того, как он будет добавлен, будет добавлен каждый размер пополнения и отметка времени для каждого размера. При следующем запуске, если что-то пополняется, он принимает эти размеры и проверяет, есть ли они в словаре, если они есть, он сравнивает текущую метку времени с теми, которые находятся внутри словаря. По сути, установка перезарядки для размера.
То, что я сделал до сих пор, является демонстрацией этого:
import random
import sys
import time
import re
from datetime import timedelta, datetime
def randomNumber():
payload = {
"sizes": {}
}
numbers = {}
for x in range(10):
numbers.update({f'US {random.randint(1, 10)}': datetime.now()})
payload['sizes'] = numbers
return payload
def demo():
firstList = randomNumber()
while True:
secondList = randomNumber()
if len(secondList['sizes']) > len(firstList['sizes']): # Not sure if this is needed but couldn't get another other ideas here to compare
restockSizes = []
restocked = False
for key, value in secondList['sizes'].items():
if key in firstList['sizes'].keys():
timenow = datetime.now()
elapsed = timenow - value
if elapsed > timedelta(seconds=5):
restockSizes.append(f'{key}')
restocked = True
else:
restockSizes.append(f'{key}')
time.sleep(random.randint(1, 3))
if restocked:
print(f'Restocked: {restockSizes}')
firstList = secondList
else:
print("No restock.")
firstList = secondList
demo()
Есть некоторая обеспокоенность, что я не уверен, что она действительно работает, как я описал , На данный момент есть кое-что, что, как мне кажется, мне непонятно: есть ли у меня какая-либо причина для firstList = secondList
в else statement
Также я не уверен, если len(secondList['sizes']) > len(firstList['sizes']):
также нужен в моем случае, если мне нужно сравнить между firstList и secondList?
Надеюсь, кто-нибудь увидит fl aws и поможет мне!
Допустим, наша дельта минутная = 5
Первый запрос:
США 3: 22:23, США 4: 22:23, США 5 22: 23
Второй запрос (1 мин после первого запроса):
США 3: 22:23, США 4: 22:23, США 5 22:23, США 6: 22:24, США 8: 22 : 24
Третий запрос (5 минут после первого запроса):
США 3: 22:28, США 4: 22:28, США 5 22: 28 , США 6: 22:24, США 8: 22: 24
Четвертый запрос (6 минут после первого запроса):
США 3: 22:28, США 4: 22:28 , США 5 22:28, США 6: 22:29, США 8: 22: 29