PHP Cron процесс работы с маркером в URL

0

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

Вот что я пытаюсь сделать:

script.php (запускается каждую минуту)

<?php

$marker = $_GET['marker'];

$accountObj = new etAccounts($consumer);

    $request_params = new TransactionHistoryRequest();
    $request_params->__set('count', 50); //how many will be shown
    if($marker_get != ''){
    $request_params->__set('marker', $marker_get); //starting point ex. 14293200140265
    }
        $json = $accountObj->GetTransactionHistory($account, $request_obj, $request_params );
echo $json; //shows most recent 50 transactions starting from marker value

//process json data here...
//included in json is a marker variable that will be used to return the next 50 json results
//after data is processed reload the page with marker in URL

header('Location: script.php?marker=14293200140265');

?>

Я понимаю, что cron является CLI на стороне сервера и что он не может обрабатывать перенаправления или заголовки, но как это возможно. Я видел, как кто-то упоминал использование CURL, как это может работать? Пример?

Теги:
curl
cron

2 ответа

0

Исходя из комментариев, вам не нужно перенаправлять или использовать переменные запроса.

Вы можете использовать цикл, который выполняется, пока переменная marker не пуста:

$your_marker_variable = '';
do {

    $accountObj = new etAccounts($consumer);

    $request_params = new TransactionHistoryRequest();
    $request_params->__set('count', 50); //how many will be shown
    if($marker_get != '') {
      $request_params->__set('marker', $marker_get); //starting point ex. 14293200140265
    }
    $json = $accountObj->GetTransactionHistory($account, $request_obj, $request_params );
    echo $json; //shows most recent 50 transactions starting from marker value

    //process json data here...
    //included in json is a marker variable that will be used to return the next 50 json results

    // set the new value of $your_marker_variable
    $your_marker_variable = ...
} while (!empty($your_marker_variable));

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

0

Простой пример отправки почтовых переменных в URL:

$fields = array(
    'id' => $id, 
    'mail' => $mail, 
);

$url = "yourdomain.com"; 
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);

Ещё вопросы

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