Přeskočit na hlavní obsah

WP Media Folder Cloud Addon: Synchronizace

1. Synchronizace cloudu

Aby bylo možné nastavit metodu synchronizace a periodu synchronizace pro cloudové složky, přejděte na Nastavení > WP Media Folder > Cloud & Media offload > karta Synchronizace.

  • Metoda synchronizace: Metoda synchronizace cloudu. Výchozí je AJAX, pouze pro pokročilé uživatele.
    • Použít Ajax
    • Crontab URL
  • Perioda synchronizace: Automatické zpoždění synchronizace obsahu cloudu. Výchozí hodnota je 5 minut.

 

nastavení-synchronizace

 

Na řídicím panelu WP Media Folder se při synchronizaci zobrazí ikona synchronizace vedle hlavní složky cloudu.

 

symbol-synchronizace

 

A pokud ručně stisknete Spustit úplnou synchronizaci tlačítko pravým kliknutím na složku cloudu, zobrazí se oznámení v pravém horním rohu.

 

synchronizace-cloud-složek

 

2. Nastavení fronty Joomunited

Některé pluginy JoomUnited vyžadují zpracování úkolů na pozadí (cloudová synchronizace, zpracování souborů, ...). Aby se předešlo chybám časového limitu PHP během procesu, je to prováděno asynchronně na pozadí. Tato nastavení vám umožní optimalizovat proces podle zdrojů vašeho serveru.

Můžete to najít v menu Nastavení > Obecné > Nastavení fronty Joomunited sekce. Tato nastavení vám pomohou předejít přetížení serveru, můžete si vybrat vhodnou možnost pro váš web.

 

nastaveni-fronty

 

  • Zobrazit frontu v administrátorské liště: Zobrazit počet položek čekajících na zpracování v administrátorském menu.
  • Rychlost běhu úkolu: Můžete snížit zpracování úkolů na pozadí změnou tohoto parametru. Může být nutné, když je plugin nainstalován na malých serverových instancích, ale vyžaduje následné zpracování úkolů. Výchozí 75%.
  • Metoda spouštění fronty: Vyberte metodu pro spuštění fronty. Výchozí je WP Heartbeat.
  • Interval obnovování AJAX: Můžete snížit volání AJAX na pozadí změnou tohoto parametru. Může být nutné, když je plugin nainstalován na malých serverových instancích nebo sdíleném hostingu. Výchozí 15s.

 

show-queue-bar

 

3. Automatické stahování cloud souborů do knihovny médií

Tato funkce je k dispozici pro všechny podporované cloudové konektory, včetně Google Drive, Dropbox, OneDrive Personal & Business, Nextcloud, a ownCloud.

V nastavení připojení každé cloudové služby najdete vyhrazenou možnost povolit toto chování. Použitím Dropboxu jako příkladu (jak je zobrazeno na snímku níže):

  • Stáhnout soubory Dropbox do knihovny médií: Když je povoleno, soubory z vašeho účtu Dropbox jsou automaticky staženy do WordPress Thing knihovny médií na pozadí. Všimněte si, že to neovlivňuje, jak jsou soubory synchronizovány mezi cloudem a vaším webem.

 

download-cloud-files-auto

 

Tato možnost je ve výchozím nastavení zakázána. Po jejím zapnutí se stahování spustí automaticky na pozadí a můžete sledovat průběh pomocí indikátoru fronty v horní liště backendu.

 

Duplicate entry 'e60381473f15a637e39772d4f26ce283-cs' for key 'bk24_linguise_urls.hash_translation' (500 Whoops, looks like something went wrong.)

mysqli_sql_exception

HTTP 500 Whoops, looks like something went wrong.

Duplicate entry 'e60381473f15a637e39772d4f26ce283-cs' for key 'bk24_linguise_urls.hash_translation'

Exception

mysqli_sql_exception

Show exception properties
mysqli_sql_exception {#896
  #sqlstate: "23000"
}
  1. foreach ($urls as $translation => $source) {
  2. $elements[] = '("'.mysqli_real_escape_string($this->_database, Request::getInstance()->getLanguage()).'", "'.mysqli_real_escape_string($this->_database, $source).'", "'.mysqli_real_escape_string($this->_database, $translation).'", "'.md5($source).'", "'.md5($translation).'")';
  3. }
  4. $query .= implode(',', $elements);
  5. $query .= ' ON DUPLICATE KEY UPDATE source=VALUES(source), translation=VALUES(translation), hash_source=VALUES(hash_source), hash_translation=VALUES(hash_translation)';
  6. $this->_database->query($query);
  7. }
  8. public function removeUrls($urls)
  9. {
  10. $query = 'DELETE FROM '.mysqli_real_escape_string($this->_database, $this->_database_table_urls).' WHERE (hash_source) IN ';
  1. foreach ($urls as $translation => $source) {
  2. $elements[] = '("'.mysqli_real_escape_string($this->_database, Request::getInstance()->getLanguage()).'", "'.mysqli_real_escape_string($this->_database, $source).'", "'.mysqli_real_escape_string($this->_database, $translation).'", "'.md5($source).'", "'.md5($translation).'")';
  3. }
  4. $query .= implode(',', $elements);
  5. $query .= ' ON DUPLICATE KEY UPDATE source=VALUES(source), translation=VALUES(translation), hash_source=VALUES(hash_source), hash_translation=VALUES(hash_translation)';
  6. $this->_database->query($query);
  7. }
  8. public function removeUrls($urls)
  9. {
  10. $query = 'DELETE FROM '.mysqli_real_escape_string($this->_database, $this->_database_table_urls).' WHERE (hash_source) IN ';
  1. public function saveUrls($urls) {
  2. if (empty($urls)) {
  3. return;
  4. }
  5. return $this->_database->saveUrls($urls);
  6. }
  7. public function removeUrls($urls) {
  8. if (empty($urls)) {
  9. return;
  1. if (isset($result->url_translations)) {
  2. Defer::getInstance()->defer(function() use ($result) {
  3. $new_urls = $result->url_translations;
  4. $new_urls = get_object_vars($new_urls);
  5. Database::getInstance()->saveUrls((array)$new_urls);
  6. });
  7. }
  8. if (isset($result->urls_untranslated)) {
  9. Defer::getInstance()->defer(function() use ($result) {
Translation->Linguise\Script\Core\{closure}()
  1. }
  2. public function finalize()
  3. {
  4. foreach ($this->_actions as $action) {
  5. call_user_func($action['function'], $action['args']);
  6. }
  7. }
  8. }
  1. Helper::prepareDataDir();
  2. // Finalize defer actions on shutdown
  3. // @codeCoverageIgnoreStart
  4. register_shutdown_function(function() {
  5. Defer::getInstance()->finalize();
  6. Database::getInstance()->close();
  7. });
  8. // @codeCoverageIgnoreEnd
  9. }
Processor->Linguise\Script\Core\{closure}()

Stack Trace

mysqli_sql_exception
mysqli_sql_exception:
Duplicate entry 'e60381473f15a637e39772d4f26ce283-cs' for key 'bk24_linguise_urls.hash_translation'

  at /var/www/staging.joomunited.com/public_html/plugins/system/linguise/vendor/linguise/script-php/src/Databases/Mysql.php:170
  at mysqli->query()
     (/var/www/staging.joomunited.com/public_html/plugins/system/linguise/vendor/linguise/script-php/src/Databases/Mysql.php:170)
  at Linguise\Script\Core\Databases\Mysql->saveUrls()
     (/var/www/staging.joomunited.com/public_html/plugins/system/linguise/vendor/linguise/script-php/src/Database.php:232)
  at Linguise\Script\Core\Database->saveUrls()
     (/var/www/staging.joomunited.com/public_html/plugins/system/linguise/vendor/linguise/script-php/src/Translation.php:119)
  at Linguise\Script\Core\Translation->Linguise\Script\Core\{closure}()
  at call_user_func()
     (/var/www/staging.joomunited.com/public_html/plugins/system/linguise/vendor/linguise/script-php/src/Defer.php:42)
  at Linguise\Script\Core\Defer->finalize()
     (/var/www/staging.joomunited.com/public_html/plugins/system/linguise/vendor/linguise/script-php/src/Processor.php:31)
  at Linguise\Script\Core\Processor->Linguise\Script\Core\{closure}()