Jump to content
  • 0

Помогите придумать алгоритм отправки сообщений


bob_24
 Share

Question

Друзья! Помогите придумать алгоритм для следующей задачи:

Нужно программно повторить поведение человека отправляющего сообщения, например в твиттер. Есть, скажем, 100 готовых сообщений. Во-время начала дня уходит одно сообщение, в обеденный час - 20 сообщений. От начала дня до обеда сообщения должна отправляться все чаще и чаще, а после обеда наоборот. Получаем вид как у нормального распределения.

Как решение этой задачи можно описать? Реализация не важна.

Спасибо.

Link to comment
Share on other sites

14 answers to this question

Recommended Posts

  • 0

7:00 - 1

12:00 - 5

14:00 - 20

13:00 - 7

17:00 - 2

20:00 - 1

23:00 - 0

Строим линейно-аппроксимированный график. и определяем в каждой точке времени сколько нужно отправить сообщений в зависимости от распределения.

просто если более подробно, то это будет уже реализация алгоритма которая: «Реализация не важна.»

Link to comment
Share on other sites

  • 0

Самый простой вариант это развить всё время на отрезки и сказать по скольку сообщений мы отправляем в каждый отрезок времени, потом делим этот отрезок на количество писем в данном отрезке времени и получаем время в которое должно отправится сообщение, и так на каждый отрезок времени. и далее запускаем скрипт каждые (к примеру 5 минут) и проверяем прошло ли нужное нам время, если да то делаем отправку, и помечаем событие как свершённое.

Link to comment
Share on other sites

  • 0

А как определить сколько сообщений нужно отправить в какой-то отрезок времени?

Если надо отправить 60 сообщений за день. Я могу разбить на отрезки по часам. Например, 4 до обеда и 4 после. Но как определить, что в первый час надо отправить 1 сообщение, потом 5, ... и что бы за 4 часа получилось 30 сообщений?

Link to comment
Share on other sites

  • 0

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

Link to comment
Share on other sites

  • 0

Причем тут PHP и крон?

Да, видимо задачка не только мне не по зубам

Притом. На PHP Пишешь скрипт отправки сообщения. Cron'ом запускаешь хоть 1000 раз за сутки в разное время. К примеру запуск можно осуществлять каждые 10 минут. А в PHP проверять нужно ли отсылать сообщение в этом диапазоне времени.

Конечно можно обойтись и без cron'на а сделать бесконечный цикл в php и следить за временем постоянно, но это не так надежно как с cron'ом скрипт может подвиснуть или прекратить работу по каким-либо причинам.

  • Like 1
Link to comment
Share on other sites

  • 0
Как решение этой задачи можно описать? Реализация не важна.

Я описал как можно решить данную задачу. О каком алгоритме речь вообще не могу понять. Это элементарный цикл со сравнением текущего времени с временными метками для каждого сообщения. Все.

Edited by wwt
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy