A
return group
Size: a a a
A
return group
DB
DB
A
def https_test(proxy, url="https://www.google.com/"):
try:
requests.get(url, proxies={"https": proxy.proxy}, timeout=5)
except (TimeoutError, requests.exceptions.ConnectTimeout, requests.exceptions.ProxyError):
print('FAIL', proxy)
proxy.delete()
return False
else:
print('GOOD', proxy)
proxy.status = 2 # 2 is live
proxy.save()
return True
DB
group
принимает на вход таски, а ты прям функцию вызываешьDB
DB
DB
tasks = group([https_test_task.s(arg) ...])
tasks.delay()
DB
DB
A
A
DB
_task
— это я предложил функцию обернуть в селери-таску @app.task.s
— это интерфейс селери-тасок https://docs.celeryproject.org/en/stable/userguide/canvas.html#signatures (вообще очень полезная дока про канвас, стоит почитать)@app.task
def check_proxy():
DB
@app.task
def https_test_task(arg1, arg2):
https_test(arg1, arg2)
DB
MZ
A
DB
https_test_task.delay()
?DB
MZ
https_test_task.delay()
?