Форум программистов, компьютерный форум, киберфорум
Наши страницы

PHP для начинающих

Войти
Регистрация
Восстановить пароль
 
crautcher
2008 / 1979 / 172
Регистрация: 27.05.2011
Сообщений: 6,820
#1

переработать алгоритм рассылки - PHP

26.10.2011, 11:50. Просмотров 390. Ответов 0
Метки нет (Все метки)

рассылку запускает шел:
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/sh
cd /var/www/absolux/cron ;
date=`date +"%Y-%m-%d"`;
date="date $date"; 
sqldate=`echo "select date from CronFbPost;" | mysql -h **.***.148.17 -u reeder -p***********# -D HORABSOLUX;`;
# если дата посленей рассылки не сегодня тогда запускаем
if [ "$sqldate" != "$date" ]
  then
    count=`echo "select count(*) from FacebookJointing where mailingList = '1' ;" | mysql -h **.***.148.17 -u reeder -p***********# -D HORABSOLUX;`;
    count=`echo $count | egrep -o "[0-9]+"`; 
    n=0;
   while [ "$n" != "$count" ]    
     do
    n=`expr $n + 1`;
    php cron.facebook_post.php&
# запускаем сценарий в фоновом режиме столько раз , сколько людей в базе
      done
 fi
cron.facebook_post.php :
PHP
1
2
3
4
5
6
7
8
9
function GetStep() #определяет кому шлем
{
 $sql = Sql::getInstance  ('horo');
 $step = $sql->query ("select * from CronFbPost ",$a);
 $step = $step -> fetch_assoc ();
 if ( $step['date'] == date('Y-m-d') )
    return false;
 return $step ['step'];
}
в табличке CronFbPost 1 запись , дата последней рассылки ,
и ид последнего юзера кому слали ((шаг) 0 если всем отослали)
тут еще набор функций , не имеющих отношения к проблеме
и далее :
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
$cID = GetStep(); //получили юзера
  if ($cID !== false)
  { 
      $conf = include dirname(__FILE__) . '/../conf/conf.facebook.php';
      $sql = Sql::getInstance  ('horo');    
 
      if ( $cID == 0 ) 
          //если 0 значит 1ый юзер кому шел , иначе продолжаем слать
        $LoginInfo = $sql -> getListFromQuery  ("SELECT * FROM FacebookJointing where mailingList= 1 order by fbID limit 1");
      else
        $LoginInfo = $sql -> getListFromQuery  ("SELECT * FROM FacebookJointing where mailingList= 1 and fbID > '" .  addslashes($cID) ."' order by fbID limit 1");
      
       if (sizeof($LoginInfo) == 1) //если есть еще кому слать
        {
          $sql -> run ("update CronFbPost set step = '". addslashes($LoginInfo[0]['fbID'] ) ."' ");
                // заносим последнего юзера в табличку - на каком мы шаге ,  далеее не важно сама рассылка 
          $LoginInfo = $LoginInfo [0] ;
          $ui = $sql->query ("SELECT * FROM HoroUserInfo WHERE LoginID = '". addslashes($LoginInfo['LoginID']) ."' ",$a); 
          $ui = $ui -> fetch_assoc ();
          $lg = GetLg($LoginInfo['LoginID']);
          if (empty($lg) || !$lg)
              $lg='lt';     
          $pForecast=getToDay($ui ,$lg);
    PublishToWall ( $CurentUser['access_token'] , $pForecast['Title'] , $conf['a7v']['appUrl'] , GetZodiacPicture($ui) , GetLinkName($lg) , $pForecast['Body'] ,$CurentUser['fbID']  , $lg);
        
        } 
        else
                $sql -> run ("update CronFbPost set date = '". date('Y-m-d') ."' , step = '0' "); 
                    //обновляем дату последней рассылки на сегодня , если юзеров больше нет
  }
проблема в том что сценарий не успевает обновить юзера в табличке шагов , и следующий сценарий опять ему шлет . Как лучше утранить проблему ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2011, 11:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос переработать алгоритм рассылки (PHP):

СМС-рассылки - PHP
Хочу на сайте сделать регистрацию по номеру телефона. На телефон будет отправляться проверочный код, все дела. Как собственно все это...

Ошибка в скрипте рассылки - PHP
После рассылки, хостер ругается, мол мой скрипт барахлит и у них создается огромная очередь из-за меня. Выдает такие ошибки: Вот...

Написание списка рассылки - PHP
Народ ,помогите написать список рассылки или скажите как это делается

Организация email рассылки - PHP
Всем доброго ) Я вот задался вопросом рассылки email, как-то с "одиночными" оправками то все норм, работаю с phpMailer. Но вот нужно...

Настройка кода скрипта рассылки - PHP
У меня работает скрипт, но прошу настройть тайменг в минуту в скрипте php, ибо на хостинге стоят ограничители сколько можно рассылать. И...

Скрипт новостной рассылки по e-mail - PHP
Хочу написать свой скрипт для рассылки новостей по мылу для подписчиков. Основная проблема состоит в том что не в курсе как реализовать...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.10.2011, 11:50
Привет! Вот еще темы с ответами:

PHP. Сервис для рассылки СМС - PHP
Добрый вечер. Подскажите недорогие, на первое время сайты, или названия компаний, где можно воспользоваться услугой для рассылок СМС. (Для...

Функия рассылки в скрипте - как организовать - PHP
Здравствуйте. Если кратко, дано два варианта php приложения/скрипта решающие определенную "проблему": 1. в виде скрипта, который...

Email рассылки свой скрипт или MailChimp? - PHP
Предложили заняться большим проектом. Для социальной сети нужно реализовать возможность отправления 50,000 email писем сутки. Первое что...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru