Я хотел бы периодически получать несколько веб-страниц в рамках одного и того же aiohttp.ClientSession(). Вот что у меня получилось на данный момент. URL-адреса должны оставаться в заданиях, поскольку некоторые другие URL-адреса необходимо будет вычислить.
Какая команда отсутствует вместо ???. Или мне нужно сделать это совершенно по-другому? Заранее благодарим за помощь.
P.S.: интервал в секундах предназначен только для целей тестирования. Позже я изменю интервал на одну минуту.
from apscheduler.schedulers.asyncio import AsyncIOScheduler
import asyncio
import aiohttp
async def fetch(session, url, timeout=3):
async with session.get(url, ssl=False, timeout=timeout) as response:
return await response.text(), response.status
async def GOESX_job(session):
url = 'https://services.swpc.noaa.gov/json/goe ... -hour.json'
response, status = await fetch(session, url)
print('GOESX', status)
async def GOESp_job(session):
url = 'https://services.swpc.noaa.gov/json/goe ... -hour.json'
response, status = await fetch(session, url)
print('GOESp', status)
async def jobs(scheduler):
async with aiohttp.ClientSession() as session:
scheduler.add_job(GOESX_job, 'interval', seconds=2, args=[session])
scheduler.add_job(GOESp_job, 'interval', seconds=3, args=[session])
scheduler = AsyncIOScheduler()
??? jobs(scheduler)
scheduler.start()
asyncio.get_event_loop().run_forever()
Подробнее здесь: https://stackoverflow.com/questions/792 ... pscheduler
Как использовать aiohttp с аппланировщиком? ⇐ Python
Программы на Python
-
Anonymous
1732953789
Anonymous
Я хотел бы периодически получать несколько веб-страниц в рамках одного и того же aiohttp.ClientSession(). Вот что у меня получилось на данный момент. URL-адреса должны оставаться в заданиях, поскольку некоторые другие URL-адреса необходимо будет вычислить.
Какая команда отсутствует вместо ???. Или мне нужно сделать это совершенно по-другому? Заранее благодарим за помощь.
P.S.: интервал в секундах предназначен только для целей тестирования. Позже я изменю интервал на одну минуту.
from apscheduler.schedulers.asyncio import AsyncIOScheduler
import asyncio
import aiohttp
async def fetch(session, url, timeout=3):
async with session.get(url, ssl=False, timeout=timeout) as response:
return await response.text(), response.status
async def GOESX_job(session):
url = 'https://services.swpc.noaa.gov/json/goes/primary/xrays-6-hour.json'
response, status = await fetch(session, url)
print('GOESX', status)
async def GOESp_job(session):
url = 'https://services.swpc.noaa.gov/json/goes/primary/integral-protons-6-hour.json'
response, status = await fetch(session, url)
print('GOESp', status)
async def jobs(scheduler):
async with aiohttp.ClientSession() as session:
scheduler.add_job(GOESX_job, 'interval', seconds=2, args=[session])
scheduler.add_job(GOESp_job, 'interval', seconds=3, args=[session])
scheduler = AsyncIOScheduler()
??? jobs(scheduler)
scheduler.start()
asyncio.get_event_loop().run_forever()
Подробнее здесь: [url]https://stackoverflow.com/questions/79234789/how-to-use-aiohttp-with-apscheduler[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия