Поддержка серверов

CCloudFailover::syncAgent: метод Битрикс

Постоянная ссылка: http://bxapi.ru/src/?id=499043

//    CCloudFailover::syncAgent()
//    /bitrix/modules/clouds/classes/general/failover.php:449

    public static function syncAgent($bucketFrom, $bucketTo, $limit = 100)
    {
        $bucketFrom = intval($bucketFrom);
        $bucketTo = intval($bucketTo);
        $limit = intval($limit);

        if (static::lock())
        {
            $bucket = new CCloudStorageBucket($bucketFrom, false);
            if ($bucket->Init())
            {
                $etime = time() + COption::GetOptionInt("clouds", "sync_agent_time");
                do
                {
                    $lastJob = \Bitrix\Clouds\CopyQueueTable::getList(array(
                        "select" => array("SOURCE_FILE_PATH"),
                        "filter" => array(
                            "=OP" => \Bitrix\Clouds\CopyQueueTable::OP_SYNC,
                            "=SOURCE_BUCKET_ID" => $bucketFrom,
                            "=TARGET_BUCKET_ID" => $bucketTo,
                        ),
                        "order" => array("ID" => "DESC"),
                        "limit" => 1
                    ))->fetch();
                    $lastKey = $lastJob? ltrim($lastJob["SOURCE_FILE_PATH"], '/'): '';

                    $files = $bucket->ListFiles("/", true, $limit, $lastKey);
                    if ($files === false || empty($files["file"]))
                    {
                        return "";
                    }

                    foreach ($files['file'] as $fileName)
                    {
                        \Bitrix\Clouds\CopyQueueTable::add(array(
                            "TIMESTAMP_X" => new \Bitrix\Main\Type\DateTime(),
                            "OP" => \Bitrix\Clouds\CopyQueueTable::OP_SYNC,
                            "SOURCE_BUCKET_ID" => $bucketFrom,
                            "SOURCE_FILE_PATH" => "/".$fileName,
                            "TARGET_BUCKET_ID" => $bucketTo,
                            "TARGET_FILE_PATH" => "/".$fileName,
                        ));
                    }
                }
                while (time() < $etime);
            }
        }
        static::unlock();

        return "CCloudFailover::syncAgent($bucketFrom, $bucketTo, $limit);";
    }

Блог разработчика

9 августа 2016 ResizeImageGet и простой водяной знак налету

Сегодня поговорим о том как проще всего воткнуть водяной знак на картинки в Битрикс. Например, на все изображения каталога.

21 июля 2016 Добавление вкладки в CRM коробки Битрикс24

В этом посте я покажу, как легко и просто добавить вкладку в сущность CRM. И не просто добавить, а вывести там свой контент.

21 июля 2016 Как просто обращаться из коробки Битрикс24 на сайт на базе Битрикс

К примеру вам хочется внутренним скриптом дернуть с сайта-магазина информацию, которая там, в свою очередь, закрыта некоторыми правами. Например, админскими. Можно конечно мутить свой REST, или иной формат общения, но проще всего воспользоваться штатным инструментом:

Текст сообщения*
Загрузить изображение