搜尋
Beanstalkd的PHP客戶端程式庫

Beanstalk,一個高效能、輕量級的分散式記憶體佇列系統,最初設計的目的是想透過後台非同步執行耗時的任務來降低高容量Web應​​用系統的頁面存取延遲,支援過有9.5 million用戶的Facebook Causes應用。

後來開源,現在有PostRank大規模部署和使用,每天處理百萬級任務。 Beanstalkd是典型的類Memcached設計,協議和使用方式都是同樣的風格,所以使用過memcached的用戶會覺得Beanstalkd似曾相識。

高性能離不開非同步,非同步也離不開佇列,而其內部都是Producer-Comsumer模式的原理。

Beanstalkd的PHP客戶端程式庫

#!/usr/bin/env php
<?php
define('BASE_DIR', realpath(__DIR__.'/..'));
define('PHAR_FILENAME', 'pheanstalk.phar');
define('PHAR_FULLPATH', BASE_DIR.'/'.PHAR_FILENAME);
// ----------------------------------------
reexecute_if_phar_readonly($argv);
delete_existing_pheanstalk_phar();
build_pheanstalk_phar();
verify_pheanstalk_phar();
exit(0);
// ----------------------------------------
// See: http://www.php.net/manual/en/phar.configuration.php#ini.phar.readonly
function reexecute_if_phar_readonly($argv)
{
    if (ini_get('phar.readonly') && !in_array('--ignore-readonly', $argv)) {
        $command = sprintf(
            'php -d phar.readonly=0 %s --ignore-readonly',
            implode($argv, ' ')
        );
        echo "Phar configured readonly in php.ini; attempting to re-execute:\n";
        echo "$command\n";
        passthru($command, $exitStatus);
        exit($exitStatus);
    }
}
function delete_existing_pheanstalk_phar()
{
    if (file_exists(PHAR_FULLPATH)) {
        printf("- Deleting existing %s\n", PHAR_FILENAME);
        unlink(PHAR_FULLPATH);
    }
}
function build_pheanstalk_phar()
{
    printf("- Building %s from %s\n", PHAR_FILENAME, BASE_DIR);
    $phar = new Phar(PHAR_FULLPATH);
    $phar->buildFromDirectory(BASE_DIR);
    $phar->setStub(
        $phar->createDefaultStub('vendor/autoload.php')
    );
}
function verify_pheanstalk_phar()
{
    $phar = new Phar(PHAR_FULLPATH);
    printf("- %s built with %d files.\n", PHAR_FILENAME, $phar->count());
}


#
免責聲明

本站所有資源皆由網友貢獻或各大下載網站轉載。請自行檢查軟體的完整性!本站所有資源僅供學習參考。請不要將它們用於商業目的。否則,一切後果都由您負責!如有侵權,請聯絡我們刪除。聯絡方式:admin@php.cn

相關文章

WordPress使用的JavaScript和PHP庫WordPress使用的JavaScript和PHP庫

17Feb2025

WordPress 深度依賴第三方 JavaScript 和 PHP 庫,其中 jQuery 是使用最廣泛的 JavaScript 庫,PHP 庫主要由單個類文件組成。其他使用的 JavaScript 庫包括 jQuery Masonry、jQuery Hotkeys、jQuery Suggest、jQuery Form、jQuery Color、jQuery Migrate、jQuery Schedule、jQuery UI、Backbone、colorpicker、hoverIntent、S

如何最好地存取 C# 類別庫中的配置設定?如何最好地存取 C# 類別庫中的配置設定?

19Jan2025

從類別庫中的設定檔讀取設定開發 C# 類別庫時,從設定檔中擷取設置,例如...

php pdo資料庫操作封裝類別程式碼php pdo資料庫操作封裝類別程式碼

25Jul2016

php pdo資料庫操作封裝類別程式碼

PHP QR Code 條碼與二維碼產生類別庫PHP QR Code 條碼與二維碼產生類別庫

25Jul2016

PHP QR Code 條碼與二維碼產生類別庫

如何使用單例模式有效管理 PHP 類別中的資料庫連線?如何使用單例模式有效管理 PHP 類別中的資料庫連線?

03Nov2024

在 PHP 類別中使用 PDO 在您的程式碼中,您嘗試擴展 PDO 類別並在 Foo 類別中實例化它。然而,這...

如何解決外部庫中的類別名稱衝突?如何解決外部庫中的類別名稱衝突?

08Jan2025

解決外部庫中的類別名稱衝突在使用外部程式庫時,開發人員可能會遇到由於類別名稱衝突...

See all articles