leadguru-jobs 0.405.0__py3-none-any.whl → 0.407.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. {leadguru_jobs-0.405.0.dist-info → leadguru_jobs-0.407.0.dist-info}/METADATA +10 -5
  2. leadguru_jobs-0.407.0.dist-info/RECORD +49 -0
  3. lgt_jobs/__init__.py +4 -4
  4. lgt_jobs/jobs/analytics.py +1 -1
  5. lgt_jobs/jobs/archive_leads.py +2 -2
  6. lgt_jobs/jobs/bot_stats_update.py +10 -11
  7. lgt_jobs/jobs/chat_history.py +60 -53
  8. lgt_jobs/jobs/inbox_leads.py +5 -6
  9. lgt_jobs/jobs/mass_message.py +2 -2
  10. lgt_jobs/jobs/send_code.py +1 -1
  11. lgt_jobs/jobs/send_slack_message.py +5 -24
  12. lgt_jobs/jobs/update_slack_profile.py +12 -14
  13. lgt_jobs/jobs/user_balance_update.py +5 -5
  14. lgt_jobs/jobs/workspace_connect.py +7 -5
  15. lgt_jobs/lgt_common/__init__.py +0 -0
  16. lgt_jobs/lgt_common/discord_client/__init__.py +0 -0
  17. lgt_jobs/lgt_common/discord_client/discord_client.py +62 -0
  18. lgt_jobs/lgt_common/discord_client/methods.py +16 -0
  19. lgt_jobs/lgt_common/enums/__init__.py +0 -0
  20. lgt_jobs/lgt_common/enums/slack_errors.py +6 -0
  21. lgt_jobs/lgt_common/helpers.py +18 -0
  22. lgt_jobs/lgt_common/lgt_logging.py +15 -0
  23. lgt_jobs/lgt_common/pubsub/__init__.py +0 -0
  24. lgt_jobs/lgt_common/pubsub/command.py +14 -0
  25. lgt_jobs/lgt_common/pubsub/messages.py +37 -0
  26. lgt_jobs/lgt_common/pubsub/pubsubfactory.py +51 -0
  27. lgt_jobs/lgt_common/slack_client/__init__.py +0 -0
  28. lgt_jobs/lgt_common/slack_client/methods.py +46 -0
  29. lgt_jobs/lgt_common/slack_client/slack_client.py +392 -0
  30. lgt_jobs/lgt_common/slack_client/web_client.py +166 -0
  31. lgt_jobs/lgt_data/__init__.py +0 -0
  32. lgt_jobs/lgt_data/analytics.py +723 -0
  33. lgt_jobs/lgt_data/engine.py +223 -0
  34. lgt_jobs/lgt_data/enums.py +68 -0
  35. lgt_jobs/lgt_data/helpers.py +2 -0
  36. lgt_jobs/lgt_data/model.py +955 -0
  37. lgt_jobs/lgt_data/mongo_repository.py +998 -0
  38. lgt_jobs/main.py +9 -11
  39. lgt_jobs/runner.py +6 -9
  40. lgt_jobs/smtp.py +1 -1
  41. leadguru_jobs-0.405.0.dist-info/RECORD +0 -26
  42. {leadguru_jobs-0.405.0.dist-info → leadguru_jobs-0.407.0.dist-info}/WHEEL +0 -0
  43. {leadguru_jobs-0.405.0.dist-info → leadguru_jobs-0.407.0.dist-info}/top_level.txt +0 -0
lgt_jobs/main.py CHANGED
@@ -2,11 +2,11 @@ import json
2
2
  import sys
3
3
  import threading
4
4
  import time
5
- from lgt_jobs import BackgroundJobRunner, jobs_map
6
- from lgt.common.python.pubsub.pubsubfactory import PubSubFactory
7
- from lgt.common.python.lgt_logging import log
8
-
9
- from lgt_jobs import env
5
+ from lgt_common.pubsub.pubsubfactory import PubSubFactory
6
+ from lgt_common.lgt_logging import log
7
+ from lgt_jobs.env import project_id, background_jobs_topic, background_jobs_subscriber
8
+ from lgt_jobs.runner import BackgroundJobRunner
9
+ from lgt_jobs import jobs_map
10
10
 
11
11
  lock = threading.Lock()
12
12
 
@@ -35,12 +35,10 @@ def run_background_job_with_lock(message):
35
35
 
36
36
 
37
37
  if __name__ == '__main__':
38
- factory = PubSubFactory(env.project_id)
39
- factory.create_topic_if_doesnt_exist(env.background_jobs_topic)
40
- factory.create_subscription_if_doesnt_exist(env.background_jobs_subscriber, env.background_jobs_topic,
41
- ack_deadline_seconds=600)
42
- bot_subscription_path = factory.get_subscription_path(env.background_jobs_subscriber, env.background_jobs_topic)
43
-
38
+ factory = PubSubFactory(project_id)
39
+ factory.create_topic_if_doesnt_exist(background_jobs_topic)
40
+ factory.create_subscription_if_doesnt_exist(background_jobs_subscriber, background_jobs_topic,600)
41
+ bot_subscription_path = factory.get_subscription_path(background_jobs_subscriber, background_jobs_topic)
44
42
  factory.subscriber.subscribe(bot_subscription_path, callback=run_background_job_with_lock)
45
43
  log.info(f'Listening for messages on {bot_subscription_path}')
46
44
  while True:
lgt_jobs/runner.py CHANGED
@@ -1,7 +1,7 @@
1
1
  import json
2
- from datetime import datetime
3
- from lgt.common.python.pubsub.messages import _publish_message2_pubsub
4
- from lgt_data.engine import DelayedJob
2
+ from datetime import datetime, UTC
3
+ from lgt_jobs.lgt_common.pubsub.messages import publish_message2_pubsub
4
+ from lgt_jobs.lgt_data.engine import DelayedJob
5
5
  from .basejobs import InvalidJobTypeException, BaseBackgroundJobData, BaseBackgroundJob
6
6
  from .env import background_jobs_topic
7
7
 
@@ -33,22 +33,19 @@ class BackgroundJobRunner:
33
33
 
34
34
  @staticmethod
35
35
  def submit_data(data: dict):
36
- json_str = json.dumps(data,
37
- ensure_ascii=False,
38
- default=datetime_converter)
36
+ json_str = json.dumps(data, ensure_ascii=False, default=datetime_converter)
39
37
  BackgroundJobRunner.submit_json(json_str)
40
38
 
41
39
  @staticmethod
42
40
  def submit_json(json_str: str):
43
- _publish_message2_pubsub(background_jobs_topic,
44
- message_json=json_str)
41
+ publish_message2_pubsub(background_jobs_topic, message_json=json_str)
45
42
 
46
43
  @staticmethod
47
44
  def schedule(jib: str, job: type, data: BaseBackgroundJobData, scheduled_at: datetime):
48
45
  job_data = BaseBackgroundJob.dumps(job, data.model_dump())
49
46
  DelayedJob(
50
47
  jib=jib,
51
- created_at=datetime.utcnow(),
48
+ created_at=datetime.now(UTC),
52
49
  scheduled_at=scheduled_at,
53
50
  job_type=job.__name__,
54
51
  data=json.dumps(job_data, ensure_ascii=False, default=datetime_converter)
lgt_jobs/smtp.py CHANGED
@@ -1,7 +1,7 @@
1
1
  from abc import ABC
2
2
  import smtplib
3
3
  from pydantic import BaseModel
4
- from lgt.common.python.lgt_logging import log
4
+ from lgt_jobs.lgt_common.lgt_logging import log
5
5
  from .basejobs import BaseBackgroundJobData, BaseBackgroundJob
6
6
  from .env import smtp_login, smtp_password, smtp_host
7
7
 
@@ -1,26 +0,0 @@
1
- lgt_jobs/__init__.py,sha256=pzjunSJcWLeoxyN7wYDovpRgm0I68Dc0l7N1ykZaWxc,2131
2
- lgt_jobs/basejobs.py,sha256=LPEclvY6fIG17YMGy9pRK0Q58n62gkI5W1BTK6R2p-c,1234
3
- lgt_jobs/env.py,sha256=yzZ3Z2zAlA8B9FAY1GGEz2pkN_IiFqL-Reql1_Ub5qg,639
4
- lgt_jobs/main.py,sha256=g9cIpahGFXZZv6fsftbjrOhQMrrD04kxKOuPpxKk3rk,1545
5
- lgt_jobs/runner.py,sha256=Gqh5EBiV-XHkERmlD4PCrk-47VCLmwCs7Hl9pEo6kyI,2204
6
- lgt_jobs/simple_job.py,sha256=sta7MP-57iwRewPycmTAc9dvSbocbGjWhb1QYYj7ccA,519
7
- lgt_jobs/smtp.py,sha256=W9OIkckBORAWEsNgIG3nVKs6OTU6esZNnq09WDsj8Lc,1352
8
- lgt_jobs/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
- lgt_jobs/jobs/analytics.py,sha256=uL3_0xpS37VRJihTW1KiM_yhGGt1XV2yUNId_y-ISLk,972
10
- lgt_jobs/jobs/archive_leads.py,sha256=wZ4LwbuC9G7NB16AO15YiMemEV40LoJVjd8VRqaFv9o,831
11
- lgt_jobs/jobs/bot_stats_update.py,sha256=ZVeDxhVyDHiVFWIs1cGlEsu2WyF5P8mQClLT28C6hMA,6977
12
- lgt_jobs/jobs/chat_history.py,sha256=i5OOkKT7yaEmSwnwK7Ym5xIFo3DyxBTfo1Sgsm1BoX0,4696
13
- lgt_jobs/jobs/inbox_leads.py,sha256=1vwV45RU3vHZnlnmLdW6Mo_ZADyjDS1z2gDPb9cggY8,4738
14
- lgt_jobs/jobs/mass_message.py,sha256=sRKHYTQ5cwNep7gsuZTSpAEh8Y5d6PJ5lTQ6XxjsVSQ,2028
15
- lgt_jobs/jobs/send_code.py,sha256=eLvp6KhOBp4DW-p162xojOm62J_Jzs6kfxutWhobE8U,826
16
- lgt_jobs/jobs/send_slack_message.py,sha256=QiXbd2Ff61gby_IcBdTr9M3ATll3YvBuaKoegGG_Mnc,2672
17
- lgt_jobs/jobs/update_slack_profile.py,sha256=NIIQRnmrWWYgYz12GWq5on12vaAaXsydQ2QDdeKV7SM,2646
18
- lgt_jobs/jobs/user_balance_update.py,sha256=7LkcpKMilxqUcCS1_OW51qQnaXvGBavkj0a-0_-gK2g,2352
19
- lgt_jobs/jobs/workspace_connect.py,sha256=YpLkhnr1cajkCioPojuavLPKPQIRmAKJtT6uoi5IBwM,6973
20
- lgt_jobs/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
- lgt_jobs/services/web_client.py,sha256=D3y5KVVBk7mesRnsiByx4tFmNbfTOKOUoIp3VCHuk0I,1983
22
- lgt_jobs/templates/new_message_mail_template.html,sha256=82XdDPtmkJVUWUcZtgd8bv_9-viAG2WWOnf3AhR6PeY,3635
23
- leadguru_jobs-0.405.0.dist-info/METADATA,sha256=G4h25ivJ4PpH2gjg92mgPwSD15VVg0kI8zBluzD-pKc,1181
24
- leadguru_jobs-0.405.0.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
25
- leadguru_jobs-0.405.0.dist-info/top_level.txt,sha256=rIuw1DqwbnZyeoarBSC-bYeGOhv9mZBs7_afl9q4_JI,9
26
- leadguru_jobs-0.405.0.dist-info/RECORD,,