22 lines
No EOL
719 B
Python
22 lines
No EOL
719 B
Python
import asyncio
|
|
from app.workers.base_worker import BaseWorker
|
|
from app.job_registry import routing_key
|
|
from app.workers.utils import resolve_txt, parse_spf
|
|
|
|
class SPFValidationWorker(BaseWorker):
|
|
async def process(self, payload: dict, **meta) -> dict:
|
|
domain = payload.get("domain")
|
|
if not domain:
|
|
raise ValueError("payload.domain is required")
|
|
txts = await resolve_txt(domain)
|
|
parsed = parse_spf(txts)
|
|
await asyncio.sleep(0)
|
|
return parsed
|
|
|
|
async def main():
|
|
worker = SPFValidationWorker(routing_key("MailCheck", "SPFValidation"), worker_id="spf-worker-1")
|
|
await worker.run()
|
|
|
|
if __name__ == "__main__":
|
|
import asyncio as _a
|
|
_a.run(main()) |