RuntimeError: set_wakeup_fd работает только в основном потоке главного интерпретатора при добавлении задания proxybroker в django-apscheduler
Я пытался использовать django-apscheduler для добавления задания proxybroker. Без проблем запустил test_proxybroker.py и получил возвращенные прокси. Но я получил эту ошибку при запуске команды django-apscheduler.
set_wakeup_fd работает только в основном потоке главного интерпретатора
.
#test_proxybroker.py
import asyncio
from proxybroker import Broker
# https://proxybroker.readthedocs.io/en/latest/examples.html
def broke():
async def show(proxies):
while True:
proxy = await proxies.get()
if proxy is None: break
print('Found proxy: %s' % proxy)
try:
loop = asyncio.get_event_loop()
except:
new_loop = asyncio.new_event_loop()
asyncio.set_event_loop(new_loop)
loop = asyncio.get_event_loop()
proxies = asyncio.Queue()
broker = Broker(proxies)
tasks = asyncio.gather(
broker.find(types=['HTTP', 'HTTPS'], limit=10),
show(proxies))
loop.run_until_complete(tasks)
#runapscheduler.py. (the django command file)
...
def test_job():
try:
broke()
except:
pass
...