Класс GearmanWorker

(PECL gearman >= 0.5.0)

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

ΠžΠ±Π·ΠΎΡ€ класса

class GearmanWorker {
/* ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ */
public function __construct()
public function addFunction(
Β Β Β Β string $function_name,
Β Β Β Β callable $function,
Β Β Β Β mixed $context = null,
Β Β Β Β int $timeout = 0
): bool
public function addOptions(int $option): true
public function addServer(string $host = null, int $port = 0, bool $setupExceptionHandler = true): bool
public function addServers(string $servers = null, bool $setupExceptionHandler = true): bool
public function error(): string|false
public function getErrno(): int
public function options(): int
public function register(string $function_name, int $timeout = 0): bool
public function removeOptions(int $option): true
public function returnCode(): int
public function setId(string $id): bool
public function setOptions(int $option): true
public function setTimeout(int $timeout): true
public function timeout(): int
public function unregister(string $function_name): bool
public function unregisterAll(): bool
public function wait(): bool
public function work(): bool
}

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

  • GearmanWorker::addFunction β€” РСгистрация ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ callback-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
  • GearmanWorker::addOptions β€” Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ настроСк ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°
  • GearmanWorker::addServer β€” Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ сСрвСра Π·Π°Π΄Π°Π½ΠΈΠΉ
  • GearmanWorker::addServers β€” Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ сСрвСров Π·Π°Π΄Π°Π½ΠΈΠΉ
  • GearmanWorker::clone β€” Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠΏΠΈΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°
  • GearmanWorker::__construct β€” Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° GearmanWorker
  • GearmanWorker::echo β€” ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° сСрвСров Π·Π°Π΄Π°Π½ΠΈΠΉ
  • GearmanWorker::error β€” ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ послСднСй ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠΉ ошибки
  • GearmanWorker::getErrno β€” ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π½ΠΎΠΌΠ΅Ρ€Π° ошибки
  • GearmanWorker::options β€” ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ настроСк ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°
  • GearmanWorker::register β€” РСгистрация Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° сСрвСрС Π·Π°Π΄Π°Π½ΠΈΠΉ
  • GearmanWorker::removeOptions β€” Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ настроСк ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°
  • GearmanWorker::returnCode β€” ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ послСднСго ΠΊΠΎΠ΄Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° Gearman
  • GearmanWorker::setId β€” НазначаСт ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² дальнСйшСм ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ всС доступныС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ
  • GearmanWorker::setOptions β€” Установка настроСк ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°
  • GearmanWorker::setTimeout β€” Π—Π°Π΄Π°Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ оТидания Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° сокСтС
  • GearmanWorker::timeout β€” ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ значСния врСмя оТидания запросов Π½Π° сокСтС
  • GearmanWorker::unregister β€” Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ ΠΈΠΌΠ΅Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° всСх сСрвСрах Π·Π°Π΄Π°Π½ΠΈΠΉ
  • GearmanWorker::unregisterAll β€” Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ рСгистрации всСх ΠΈΠΌΡ‘Π½ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π½Π° сСрвСрах Π·Π°Π΄Π°Π½ΠΈΠΉ
  • GearmanWorker::wait β€” ОТиданиС запроса с ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· сСрвСра Π·Π°Π΄Π°Ρ‡
  • GearmanWorker::work β€” ОТиданиС ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Π½ΠΈΠΉ
οΌ‹Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ 1 note

up
1
szhvoj@gmail!com ΒΆ
3 years ago
Use systemd for managing this process:

---- 8< ---- /lib/systemd/system/gearman-worker.service
[Unit]
Description=My own gearman worker

[Service]
ExecStart=/usr/bin/php /var/www/my-worker.php
Restart=always

[Install]
WantedBy=multi-user.target
---- >8 ----  /lib/systemd/system/gearman-worker.service
systemctl daemon-reload
systemctl enable gearman-worker
systemctl start gearman-worker