support ip_country field

This commit is contained in:
2024-01-23 23:33:55 +01:00
parent 97c2b9ce8c
commit aa26e17e99
12 changed files with 147 additions and 60 deletions
+3
View File
@@ -2,7 +2,9 @@ import pika
QUEUE_HOST = "appointment.lpaconsulting.fr"
REQUEST_DATA_QUEUE = 'REQUEST_DATA'
# REQUEST_DATA_QUEUE_TEST = 'REQUEST_DATA_TEST'
REQUEST_DATA_QUEUE_TEST = 'REQUEST_DATA_TEST'
REQUEST_DATA_QUEUE_DE = 'REQUEST_DATA_DE'
credentials = pika.PlainCredentials('appointment', 'ZyuhJZ2xEYWhElhpJjy7YEpZGZwNYJz2fHIu')
@@ -21,6 +23,7 @@ class CookiesPublisher:
self.queue_method = self.channel.queue_declare(queue=self.to_queue, durable=True)
def publish_body(self, body: str):
print("will push to queue {}".format(self.to_queue))
self.channel.basic_publish(exchange='', routing_key=self.to_queue, body=body)
def message_count(self):
@@ -11,6 +11,7 @@ from models.contact_pojo import ContactPojo
from queue_message.CookiesPublisher import CookiesPublisher
from utiles import is_time_between
from workers.captcha_result_getter import CaptchaResultGetter, HERMES_REGISTER
from workers.proxies_constants import PROXY_LIST_DE
from workers.sender import Sender
QUEUE_HOST = "appointment.lpaconsulting.fr"
@@ -72,14 +73,15 @@ def is_open():
return is_time_between(datetime.time(10, 30), datetime.time(19, 00))
class Receiver(threading.Thread):
def __init__(self, sub_contact_list: list, cookiesPublisher: CookiesPublisher):
class AppointmentRequestSendor(threading.Thread):
def __init__(self, sub_contact_list: list, cookiesPublisher: CookiesPublisher, queue_name=REQUEST_DATA_QUEUE):
super().__init__()
self.connection = None
self.cookiesPublisher = cookiesPublisher
self.channel = None
self.valid_csrf = None
self.contact_list = sub_contact_list
self.queue_name = queue_name
def set_up_connection(self):
self.connection = pika.BlockingConnection(
@@ -87,14 +89,16 @@ class Receiver(threading.Thread):
self.channel = self.connection.channel()
def listen_to_queue(self, callback):
print("listen to queue {}".format(self.queue_name))
self.channel.basic_qos(prefetch_count=1)
self.channel.basic_consume(queue=REQUEST_DATA_QUEUE, auto_ack=False, on_message_callback=callback)
self.channel.basic_consume(queue=self.queue_name, auto_ack=False, on_message_callback=callback)
self.channel.start_consuming()
def on_message(self, ch, method, properties, body):
print(f" [x] Received {body}")
print("message count in queue is {}".format(self.cookiesPublisher.message_count()))
sender = Sender(body.decode("UTF-8"), cookiesPublisher=self.cookiesPublisher)
sender = Sender(body.decode("UTF-8"), cookiesPublisher=self.cookiesPublisher,
proxy_to_use=random.choice(PROXY_LIST_DE))
self.contact_list = filter_contacts(self.contact_list)
# remove already booked contacts
random.shuffle(self.contact_list)