Size: a a a

Django [ru] #STAY HOME

2021 March 05

DT

Denis Taranov in Django [ru] #STAY HOME
Никита Мадорский
Ребят, есть вопрос, буду благодарен любой помощи.
Хочу на сайте сделать онлайн-запись на прием к врачу в мед. центр, при этом есть crm и api, то есть я могу вытянуть всю информацию о том, какие врачи работают, в какие дни и в какое время. Вопрос в том, как мне эту информацию (например время, в которое врач свободен) разместить на сайте? Я не могу заранее сделать таблицу со временем (как на фото ниже), так как какое-то время уже занято, и мне надо сделать эту ячейку либо неактвной, либо вообще не показывать на сайте. Идея в том, чтобы сделать таблицу времени(опять же, на фото ниже), которая формируется из данных в crm
Если я правильно понял тебе нужно хранить и показывать графики работ пользователей? недавно интересное решение велосипед придумал:

разбиваем сутки на временные интервалы, например в 30минут (получается 24*2 промежутков), если пользователь в данный промежуток времени работает - то будем ставить 1, если отдыхает - 0
получается, что мы можем хранить для одного пользователя один день как одно целочисленное число

храним для каждого пользователя 7  таких чисел (пн, вт, ср,..)
немного появляются сложности с тем как это отоюразить на фронте, но выйгрыш в экономии поражает, для того чтобы быстро всем сделать обед в какое-то время - можно в бд сделать XOR с одним числом и вообще много приколдезов подобных с битовыми операциями
источник

SI

Serghei Iakovlev in Django [ru] #STAY HOME
А тут кафка, ребит вы прямо шутники
источник

dd

dgj dfsh in Django [ru] #STAY HOME
Serghei Iakovlev
Она стремная в том плане, что не успела стать всеобщем трендом, как ее забросили. Я им даж что-то контрибьютил туда. С таким успехом можно и beanstalkd взять — пару коммитов за несколько лет
я об этой https://github.com/tarantool/tarantool, коммит 2 часа назад
источник

SI

Serghei Iakovlev in Django [ru] #STAY HOME
я знаю что об этой
источник

dd

dgj dfsh in Django [ru] #STAY HOME
Serghei Iakovlev
У меня и база то sqlite и будет еще таковой лет 10
она же для одного потока
источник

Н

Не выходи из комнаты... in Django [ru] #STAY HOME
Serghei Iakovlev
А тут кафка, ребит вы прямо шутники
И все это в кубер заверни
источник

SI

Serghei Iakovlev in Django [ru] #STAY HOME
ага, на пятидолларовом дроплете в DO )
источник

SI

Serghei Iakovlev in Django [ru] #STAY HOME
я и не писал что в тарантул не комитят, не комитят в beanstalkd, а только то, что тарантул бросила компания разработчик. сейчас тарантулом занимаются другие люди, постольку поскольку. подобрали. да и тарантул это все таки не про очереди
источник

dd

dgj dfsh in Django [ru] #STAY HOME
Serghei Iakovlev
я и не писал что в тарантул не комитят, не комитят в beanstalkd, а только то, что тарантул бросила компания разработчик. сейчас тарантулом занимаются другие люди, постольку поскольку. подобрали. да и тарантул это все таки не про очереди
интересная инфа.
Насчет очередей: очередь можно и в sqlite хранить. Какая скорость событий ожидается?
источник

SI

Serghei Iakovlev in Django [ru] #STAY HOME
Да не особо скорость. Раз в месяц председатель жилищного кооператива хочет разослать 200 платежек
источник

dd

dgj dfsh in Django [ru] #STAY HOME
Serghei Iakovlev
Да не особо скорость. Раз в месяц председатель жилищного кооператива хочет разослать 200 платежек
м-даа... создай таблицу в sqlite - вот тебе и очередь для такого
источник

SI

Serghei Iakovlev in Django [ru] #STAY HOME
вот я об этом же и думаю )
источник

dd

dgj dfsh in Django [ru] #STAY HOME
Serghei Iakovlev
вот я об этом же и думаю )
а все-таки, что насчет многопоточности в sqlite? для очереди желательно, чтобы отдельный поток следил за ней, но в sqlite вроде блокировка на уровне файла
источник

SI

Serghei Iakovlev in Django [ru] #STAY HOME
я наверное напишу крон, который раз в пол часа будет проверять табличку и забью
источник

SI

Serghei Iakovlev in Django [ru] #STAY HOME
Хотя наверное это путь в никуда.. Не хочется в общем оверинжинирить и брать какие-то сложные технологии
источник

dd

dgj dfsh in Django [ru] #STAY HOME
да просто команду джанги напиши, которая бесконечно будет работать и периодически что-то проверять
источник

SI

Serghei Iakovlev in Django [ru] #STAY HOME
угу
источник

НМ

Никита Мадорский... in Django [ru] #STAY HOME
Denis Taranov
Если я правильно понял тебе нужно хранить и показывать графики работ пользователей? недавно интересное решение велосипед придумал:

разбиваем сутки на временные интервалы, например в 30минут (получается 24*2 промежутков), если пользователь в данный промежуток времени работает - то будем ставить 1, если отдыхает - 0
получается, что мы можем хранить для одного пользователя один день как одно целочисленное число

храним для каждого пользователя 7  таких чисел (пн, вт, ср,..)
немного появляются сложности с тем как это отоюразить на фронте, но выйгрыш в экономии поражает, для того чтобы быстро всем сделать обед в какое-то время - можно в бд сделать XOR с одним числом и вообще много приколдезов подобных с битовыми операциями
Не совсем понял что ты имеешь в виду. Смотри, у меня уже есть все промежутки, в crm есть все данные. Вопрос в том, как мне эти данные отобразить на фронте
источник

DT

Denis Taranov in Django [ru] #STAY HOME
Никита Мадорский
Не совсем понял что ты имеешь в виду. Смотри, у меня уже есть все промежутки, в crm есть все данные. Вопрос в том, как мне эти данные отобразить на фронте
Ща покажу как я сделал
источник

DT

Denis Taranov in Django [ru] #STAY HOME
Ну, это я в админке так их отображаю
источник