выбрать, вставить и зациклить строки в cronjob

0

У меня есть небольшая таблица поддавки, и мне нужны cronjobs в MySQL, чтобы сделать ее автоматической.

таблица giveaways_participants

Здесь ваш идентификатор пользователя добавляется, когда вы участвуете в раздаче.

id    |    user_id    |    giveaway_id
__________________________
 1    |   1           |    4
 2    |   67          |    39

таблица раздачи

Все доступные распродажи

id  |  user_id  |  contents  | expires 
__________________________
 1    |   1   |  4,189,45,7  |  1512484213
 2    |   67   |  39  |  1512484213
 3    |   67   |  8,2,645  |  1512484213

таблица инвентаря

Ресурсы пользователей

id  |  user_id  |  item_id
__________________________
 1    |   1   |  4
 2    |   67   |  2
 3    |   67   |  7

Я хочу, чтобы cronjob ежедневно проходил giveaways, срок действия которой истек (закончился), выберите случайного победителя из giveaways_participants для этой конкретной поддавки и вставьте contents из giveaways в inventory в качестве новой строки для каждого элемента, разделенного запятой для этого пользователя.

Как это можно достичь самым эффективным способом?

Теги:

1 ответ

0

Я бы просто создал php-страницу (если это возможно для вас), которую можно вызвать из crontab, например php dailyga.php.
Что будет на этой странице? Выберите из таблицы раздачи, данные которой только что истекли и выбрали идентификатор. Затем выберите все идентификаторы от ваших пользователей и выберите случайный вариант, затем вставьте в инвентарь этот идентификатор пользователя и идентификатор раздачи.
Установка задания cron на каждое утро выполняла бы работу (или в полночь и т.д.).
Как выбрать только просроченную распродажу? Просто выберите те, срок которых истекает в прошлом (даже минута), но самый младший - или тот, для которого нет записи в таблице инвентаря.
Надеюсь, я немного помог.

  • 0
    Это должно быть сделано без загрузки страницы для выполнения сценария php, вот в чем проблема.
  • 0
    Но вы можете обработать скрипт в php cli из crontab.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню