Собрали в одном месте самые важные ссылки
консультируем про IT, Python
Проект позволяет просматривать презентацию в браузере, а также управлять им с телефона
Модуль подходит для повторного выполнения кода с каким-то условием. Например, что функция зависнет не более чем на 5 секунд
import tryagain def unstable(): ... # retry calling 'unstable' until it returns without raising an exception tryagain.call(unstable) # limit to maximum 5 attempts tryagain.call(unstable, max_attempts=5) # only retry after specific exceptions tryagain.call(unstable, exceptions=[ValueError, TypeError])
import requests import requests_cache requests_cache.install_cache('demo_cache')
Код:
for i in range(10): requests.get('http://httpbin.org/delay/1')
Отработает в разы быстрее
from pyriodic import DurationJob
from pyriodic import DatetimeJob
from pyriodic import Scheduler
now = datetime.now
s = Scheduler()
start = now()
def func1(arg1=None, arg2=None, arg3=None, arg4=None):
print('Func1', arg1, arg2, arg3, arg4, now() - start, now())
def func2():
print('Func2', now() - start, now())
def func3():
print('Func3', now() - start, now())
s.add_job(DurationJob(func1,
when='30m',
args=('This', 'is'),
kwargs={'arg3': 'the', 'arg4': 'first function'},
name='MyJob'))
s.add_job(DurationJob(func2, when='2h'))
s.add_job(DatetimeJob(func3, when='12:00 pm'))
print(s.next_run_times())