Module: Lich::Util::MemoryReleaser
- Defined in:
- documented/util/memoryreleaser.rb
Overview
Memory management module that provides automatic and manual memory release functionality Memory management module that provides automatic and manual memory release functionality.
Defined Under Namespace
Classes: Manager
Constant Summary collapse
- DEFAULT_SETTINGS =
Default settings for memory releaser Default settings for memory releaser.
{ auto_start: true, # Disabled by default, user must enable interval: 900, # default of 15 minutes verbose: false, }.freeze
Class Attribute Summary collapse
-
.command_queue ⇒ Object
readonly
Returns the value of attribute command_queue.
-
.worker_thread ⇒ Object
readonly
Returns the value of attribute worker_thread.
Class Method Summary collapse
- .auto_disable! ⇒ Object
- .auto_start! ⇒ Object
- .benchmark ⇒ Object
- .instance ⇒ Object
- .interval!(seconds) ⇒ Object
- .release ⇒ Object
- .reset! ⇒ Object
- .running? ⇒ Boolean
- .start(interval: nil, verbose: nil) ⇒ Object
- .status ⇒ Object
- .stop ⇒ Object
- .verbose!(enabled) ⇒ Object
Class Attribute Details
.command_queue ⇒ Object (readonly)
Returns the value of attribute command_queue.
545 546 547 |
# File 'documented/util/memoryreleaser.rb', line 545 def command_queue @command_queue end |
.worker_thread ⇒ Object (readonly)
Returns the value of attribute worker_thread.
547 548 549 |
# File 'documented/util/memoryreleaser.rb', line 547 def worker_thread @worker_thread end |
Class Method Details
.auto_disable! ⇒ Object
577 578 579 |
# File 'documented/util/memoryreleaser.rb', line 577 def auto_disable! instance.auto_disable! end |
.auto_start! ⇒ Object
573 574 575 |
# File 'documented/util/memoryreleaser.rb', line 573 def auto_start! instance.auto_start! end |
.benchmark ⇒ Object
601 602 603 |
# File 'documented/util/memoryreleaser.rb', line 601 def benchmark instance.benchmark end |
.instance ⇒ Object
549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 |
# File 'documented/util/memoryreleaser.rb', line 549 def instance @mutex ||= Mutex.new @mutex.synchronize { @instance ||= begin manager = Manager.new # Auto-start if enabled in settings if manager.settings[:auto_start] manager.start end manager end } end |
.interval!(seconds) ⇒ Object
581 582 583 |
# File 'documented/util/memoryreleaser.rb', line 581 def interval!(seconds) instance.interval!(seconds) end |
.release ⇒ Object
589 590 591 |
# File 'documented/util/memoryreleaser.rb', line 589 def release instance.release end |
.reset! ⇒ Object
605 606 607 608 |
# File 'documented/util/memoryreleaser.rb', line 605 def reset! @instance&.stop @instance = nil end |
.running? ⇒ Boolean
593 594 595 |
# File 'documented/util/memoryreleaser.rb', line 593 def running? instance.running? end |
.start(interval: nil, verbose: nil) ⇒ Object
565 566 567 |
# File 'documented/util/memoryreleaser.rb', line 565 def start(interval: nil, verbose: nil) instance.start(interval: interval, verbose: verbose) end |
.status ⇒ Object
597 598 599 |
# File 'documented/util/memoryreleaser.rb', line 597 def status instance.status end |
.stop ⇒ Object
569 570 571 |
# File 'documented/util/memoryreleaser.rb', line 569 def stop instance.stop end |
.verbose!(enabled) ⇒ Object
585 586 587 |
# File 'documented/util/memoryreleaser.rb', line 585 def verbose!(enabled) instance.verbose!(enabled) end |