pubjs_augmentation #4

Open
skeris wants to merge 4 commits from pubjs_augmentation into staging
Owner

та самая ночная задача, что я тебе пояснял. в чем суть проблемы: фронт сперва грузит сам скрипт, потом идёт за настройками скрипта. это получается долго, типа сперва один запрос, потом второй. иногда сеть глючит и может пол минуты идти settings и тому подобное. поэтому мне пришла в голову мысль - а зачем делать второй запрос, а то и третий и четвёртый, если вопросов много, если бэк может отдать их сразу при выдаче скрипта. поэтому надо в этом репозитории сделать ручки для этого. сперва я хотел отдельный сервис, но подумал потом, что практической выгоды от этого нет
в этой задаче есть 3 момента:

  1. как обновлять скрипт. это довольно просто, просто когда фронт будет заливать этот скрипт, я из пайплайна стрельну PUT /pub.js . надо принять файл, подготовить его (по факту порвать на 2 подстроки, слева и справа от места, куда надо вставить данные) и забыть старый файл. вариант с двумя строками мне нравится потому их будут только читать, за редким исключением, значит мьютексом закрывать почти не нужно. т.е. всё таки нужно, но там swap операция получается, когда подгружают новый файл. т.е. чтение этих строк не нужно защищать до тех пор, пока не наступит момент замены строк. а если ещё и в хендлер передавать их не как поле, а как указатель, то необходимость в мьютексе вовсе отпадает
  2. когда приходит запрос GET //pub.js надо получить все данные по этому опросу какие есть, как буд-то человек стрельнул /settings и в Writer записать сперва первую часть строки-шаблона, потом смаршаленные данные, потом вторую часть строки-шаблона
  3. структуру данных нужно обсудить с Настей в общем чате.

пока никакого кеширования не ведём

та самая ночная задача, что я тебе пояснял. в чем суть проблемы: фронт сперва грузит сам скрипт, потом идёт за настройками скрипта. это получается долго, типа сперва один запрос, потом второй. иногда сеть глючит и может пол минуты идти settings и тому подобное. поэтому мне пришла в голову мысль - а зачем делать второй запрос, а то и третий и четвёртый, если вопросов много, если бэк может отдать их сразу при выдаче скрипта. поэтому надо в этом репозитории сделать ручки для этого. сперва я хотел отдельный сервис, но подумал потом, что практической выгоды от этого нет в этой задаче есть 3 момента: 1) как обновлять скрипт. это довольно просто, просто когда фронт будет заливать этот скрипт, я из пайплайна стрельну PUT /pub.js . надо принять файл, подготовить его (по факту порвать на 2 подстроки, слева и справа от места, куда надо вставить данные) и забыть старый файл. вариант с двумя строками мне нравится потому их будут только читать, за редким исключением, значит мьютексом закрывать почти не нужно. т.е. всё таки нужно, но там swap операция получается, когда подгружают новый файл. т.е. чтение этих строк не нужно защищать до тех пор, пока не наступит момент замены строк. а если ещё и в хендлер передавать их не как поле, а как указатель, то необходимость в мьютексе вовсе отпадает 2) когда приходит запрос GET /<qid>/pub.js надо получить все данные по этому опросу какие есть, как буд-то человек стрельнул /settings и в Writer записать сперва первую часть строки-шаблона, потом смаршаленные данные, потом вторую часть строки-шаблона 3) структуру данных нужно обсудить с Настей в общем чате. пока никакого кеширования не ведём
skeris added the
Kind/Feature
label 2025-05-22 12:53:10 +00:00
pasha1coil was assigned by skeris 2025-05-22 12:53:10 +00:00
skeris added 22 commits 2025-05-22 12:53:10 +00:00
fix clickhousr types

See merge request backend/quiz/answerer!5
main deployment rule
All checks were successful
Deploy / CreateImage (push) Successful in 2m9s
Deploy / DeployService (push) Successful in 20s
f99f8e80c1
release the kraken ai
All checks were successful
Deploy / CreateImage (push) Successful in 2m2s
Deploy / DeployService (push) Successful in 24s
c7d7f2fda8
ai create only text question
All checks were successful
Deploy / CreateImage (push) Successful in 2m11s
Deploy / DeployService (push) Successful in 22s
f5fe8654df
add status to get settings for ai
All checks were successful
Deploy / CreateImage (push) Successful in 2m8s
Deploy / DeployService (push) Successful in 24s
ac54bf45ee
fix
All checks were successful
Deploy / CreateImage (push) Successful in 2m10s
Deploy / DeployService (push) Successful in 24s
2e7d9fb5ee
update to mew imp common
All checks were successful
Deploy / CreateImage (push) Successful in 2m7s
Deploy / DeployService (push) Successful in 23s
4a2771541a
fix ai question len
All checks were successful
Deploy / CreateImage (push) Successful in 2m11s
Deploy / DeployService (push) Successful in 23s
524b1caabf
pasha1coil added 1 commit 2025-05-22 15:50:28 +00:00
pasha1coil added 1 commit 2025-05-27 09:26:24 +00:00
pasha1coil added 1 commit 2025-05-27 13:25:47 +00:00
pasha1coil added 1 commit 2025-05-29 14:57:44 +00:00
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin pubjs_augmentation:pubjs_augmentation
git checkout pubjs_augmentation
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: SQuiz/answerer#4
No description provided.