Как использовать aiohttp с аппланировщиком?Python

Программы на Python
Ответить
Anonymous
 Как использовать aiohttp с аппланировщиком?

Сообщение 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/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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»