За последние 24 часа нас посетили 22600 программистов и 1209 роботов. Сейчас ищут 737 программистов ...

Хочу сделать очки и их прибавление, спустя 24 часов после регистрации пользователя.

Тема в разделе "PHP для новичков", создана пользователем Kory, 27 дек 2019.

  1. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Давай хотя бы раз в секунду, изменений чуть больше, чем инкремент одного поля, записей 100500, а всё это ещё и логировать надо, что бы при необходимости откатить и иметь историческую сводку вглубь - вот тогда и будет плохеть. А тут, всего лишь один update, что тут смотреть то?
    --- Добавлено ---
    Кому-то надо полностью перелопачивать БД каждый день, потому что всё приложение крутится вокруг обновления всего содержимого БД и отдачи этого на сторону в реальном времени. Если вот прямо сейчас тебе нужно обновить сотню тысяч записей, да так что бы это было именно что обновление (ведь всем нужна история изменений, а ещё связи и т.п.), да так что из несчастной таблички ещё и читают нонстопом, а то и с другого потока очереди пытаются свою сотню тысяч обновить, а потока явно не два, то что? Скажешь что кроны с очередями должны быть иммутабельными, а ваша сотня тысяч записей обновится когда за ними придете?

    Неа, коллеги. Данные должны обновляться когда должны, а не когда хочется. А БД уже давно умеют в масштабирование, репликации, кластеры и балансировку. Как-то так )
     
    Roman __construct нравится это.
  2. Kory

    Kory Новичок

    С нами с:
    27 дек 2019
    Сообщения:
    19
    Симпатии:
    1
    Я не понимаю, с чего некоторые взяли, что их будут тратить, ведь в моем сообщении ни речи об этом.

    Честно говоря, я хотел сделать возраст перса. 1 реальный день - 1 игровой месяц. Так что, да, мне надо начислять так называемые "очки" именно через 24 часа.

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

    Хотя, если название все же важно - простите, мой косяк.
     
    artoodetoo нравится это.
  3. Valick

    Valick Активный пользователь

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
    @Kory, а почему нельзя сразу описать задачу нормально? Очередная тема с проблемой молотка.
    В любом случае ничего "начислять" не надо. Как я и говорил поля timestamp при создании персонажа более чем достаточно.
     
  4. Kory

    Kory Новичок

    С нами с:
    27 дек 2019
    Сообщения:
    19
    Симпатии:
    1
    Извините(2), в следующий раз я постараюсь нормально описать. Спасибо!
     
  5. Valick

    Valick Активный пользователь

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
    поздно...
    "зубчатые колёса завертелись в башке..." :D
    мы уже начисляем, тратим, штрафуем и тд))
     
    romach и artoodetoo нравится это.
  6. lastdays

    lastdays Активный пользователь

    С нами с:
    27 сен 2012
    Сообщения:
    410
    Симпатии:
    74
    Нужно вещи называть своими именами.
    Бонусные очки обычно делают как раз для того, чтобы тратить.

    В твоем случае никаких дополнительных запросов к таблицам базы данных вообще не нужно делать.
    Просто конвертировать дату в кол-во дней = очки.
     
    Roman __construct и artoodetoo нравится это.
  7. Roman __construct

    Roman __construct Активный пользователь

    С нами с:
    27 апр 2019
    Сообщения:
    1.270
    Симпатии:
    112
    кстати да)
     
  8. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    ага, с кубернетсами и кафкой, что бы сервера выдержали 100500 запросов в секунду ))
     
    Roman __construct нравится это.
  9. Roman __construct

    Roman __construct Активный пользователь

    С нами с:
    27 апр 2019
    Сообщения:
    1.270
    Симпатии:
    112
    )))))))))))))))

    ну, на самом деле там практически без расходов получится: дату создания берем из модели профайла или юзера, вместе с остальными данными, а получить разность с текущим временем и пересчитать в "очки" (в очко :D ) - почти ничего не стоит.
     
  10. Kory

    Kory Новичок

    С нами с:
    27 дек 2019
    Сообщения:
    19
    Симпатии:
    1
    Извините, больше такого не повторится.

    Не понял: дату регистрации игрока конвертировать или какая?
     
  11. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    Тему перечитайте. В общем берете разницу между тек. временем и временем регистрации и делите нацело на время в сутках. Реализация может немного различаться. Можно прям на мускуле сделать, сразу получать разницу в днях, и т.д., и т.п.
     
  12. Kory

    Kory Новичок

    С нами с:
    27 дек 2019
    Сообщения:
    19
    Симпатии:
    1
    А, спасибо.
     
  13. Roman __construct

    Roman __construct Активный пользователь

    С нами с:
    27 апр 2019
    Сообщения:
    1.270
    Симпатии:
    112
    Ты уже три раза извинился в этом топике, и еще ни разу не послал никого нахер - парень, что с тобой не так? :D
     
    artoodetoo нравится это.