Jump to content

DeimosFobos

Members
  • Content Count

    65
  • Joined

  • Last visited

Posts posted by DeimosFobos


  1. Ага, особенно когда крон с бесконечным циклом исполняют!

     

    LetSevI

    Можно и так, но это не гибко.

     

    Кстати, ТС а у вас реально 4 цифры он выводит? Или как я понял это просто пример?

    в первом посте ничего про крон не написано, не нужно тут умничать
    цикл сделан был по запросу в первом посте "и потом начинал по новой"

  2. Вот с этим не понятно, что сделать?

     $path_to_last_i = '/tmp/cron_last_i';
    

    А так пока выводит только первое значение

    указать путь к файлу для записи последнего индекса с разрешением на запись для данного скрипта


  3. Sleep вобще убрать к фигам, это для теста код видать был скинут.

    while(true) {

    Бесконечный цикл, положит сервер на лопатки.

     

    Лучше сделать таблицу в MySQL, занести значения, к примеру: 1,2,3,4 и рядом создать поле count. В поле count писать число выполнений значений 1,2.3,4. По крону просто дергать данные из базы с сортировкой по полю count и выбирать первую запись.

    Это оптимальная логика для данного решения, лучше ничего не придумаете. Все эти рандомы и прочее лучше не использовать, только в крайних случаях. 

     

    лучше вам к программированию не приближаться:)


  4. 
    

    $messages_array = array();

     

    $path_to_last_i = '/tmp/cron_last_i';

    $last_i = file_exists($path_to_last_i) ? file_get_contents($path_to_last_i) : 0;

     

    if(!isset($messages_array[$last_i])) $last_i = 0;

    $raten = $messages_array[$last_i];

    $statusSet = curl('https://---');

     

    file_put_contents($path_to_last_i, ++$last_i);


  5. Я б рад понять, но не получается )))

    Разъясните пожалуйста, что мне надо добавить

    вам нужно добавить колонку last_sent _date у юзера и в запросе добавить по ней проверку, что последнее письмо было не ранее одного дня назад и все.
    после отправки письма обновлять эту колонку на время отправки
     
    завтра скину код, если будет время
     
    а эти ключи трата времени, ибо если будет доступ к файлу, можно и посмотреть какой ключ

  6. только зачем двойная проверка...

    в первой проверяем, если вообще есть $argv[1]

    потом парсим parse_str($argv[1]) ибо он идет как строка тобишь $argv[1] = 'key=мегакрутойключ'

    после как отпрасили у нас теперь есть переменная $key у которого значение "мегакрутойключ"

     

     

    все, нужно работать))), зайду попозже

     


  7. GET есть в кроне или меня плющит ?

     

    нема, там есть: $argv
     
    запуск скрипта в коммандной строке:
    php cronjob.php key=мегакрутойключ
     
    if(isset($argv[1])) {
       parse_str($argv[1]);
           if(isset($key) && $key == 'мегакрутойключ') {
            .....
           }
    }

  8. Да крон каждый день

    Спасибо Вам большое, а если заменить на DATEDIFF(DATE(NOW()), data) >= 30 то сообщение будет отправляться на тридцатый день после размещения?

    да, а если крон не работал пару дней, тогда возьмет и всех у кого больше 30-ти дней


  9. ваш запрос возвращает, все записи где разница во времени имеет 0 последним числом, тобишь, 10,20,30...

    но если крон бежит каждый день, то да будет возвращать там где 10

     

    замените: RIGHT(DATEDIFF(DATE(NOW()), data), 1) = 0

     

    на DATEDIFF(DATE(NOW()), data) >= 30




  10. (select * from '.$wpdb->comments.' order by comment_ID desc) as pc


    замените на



    (select * from '.$wpdb->comments.' WHERE CHARACTER_LENGTH(колонка комментария) > 100 order by comment_ID desc) as pc


    "колонка комментария" замените на нужную колонку, я просто не знаю названия ее, с вп не работал


  11. WQP, а чем оно нагляднее?

    одно дело, если бы индексы, что-то значили, но в данной ситуации они нам не значимы, да и $update[$key] и $update[] будут иметь такой же индекс.
    зачем добавочный код и лишняя нагрузка? это сейчас она не значима, а если проект большой и там важна скорость тогда это будет заметно:)

  12.  

    WPQ, что же вам не нравится?

    ну для начала:
    if(isset($_POST['key'])&& $_POST['key']!='' )
    заменяем на
    if(!empty($_POST['key']))
     
    а вот так лучше делать :)
     
    $columns = array('cat', 'meta_d',...);
    $update = array();
     
    foreach($columns as $column) {
         if(!empty($_POST[$column])) $update[] = $column .' = "' .str_replace('"','\"', $_POST[$column]) .'"';
    }
     
    $update = implode(',', $update);
     
     
    но лучше использовать prepare.

  13. pavel,
    Отвечу тут.
    Сказать как скоро будет в индексе не могу, на данный момент просто засылаю бота на нужную страницу и дальнейшее будущее страницы уже зависит от яши, в будущем если сервис будет востребован, добавлю еще пару вещей которые должны повлиять на скорость индексации.


  14. it-vologda,
    вообще, я все время о хостинге и говорю: ибо написал человеку, что он сказочник

     

     

    Makedo сказал(а) 02 Дек 2014 - 9:46 PM:snapback.png

    У меня WP нормально работал на простом хостинге с тысячами посетителей в секунду.

    сказочник :)

×
×
  • Create New...