Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ecafc68a10f3675eabed1bf7592ba2e21e1c12fa
      
https://github.com/WebKit/WebKit/commit/ecafc68a10f3675eabed1bf7592ba2e21e1c12fa
  Author: Jonathan Bedard <[email protected]>
  Date:   2023-03-07 (Tue, 07 Mar 2023)

  Changed paths:
    M Tools/Scripts/libraries/webkitflaskpy/setup.py
    M Tools/Scripts/libraries/webkitflaskpy/webkitflaskpy/__init__.py
    A Tools/Scripts/libraries/webkitflaskpy/webkitflaskpy/ipc_manager.py
    A 
Tools/Scripts/libraries/webkitflaskpy/webkitflaskpy/tests/ipc_manager_unittest.py

  Log Message:
  -----------
  [webkitflaskpy] Add IPCManager object
https://bugs.webkit.org/show_bug.cgi?id=253124
rdar://106059293

Reviewed by Dewei Zhu.

Implement a generalized version of a Redis queue to pass tasks to worker 
processes.
These sorts of queues are most often used by web services to handle incoming 
hooks.

* Tools/Scripts/libraries/webkitflaskpy/setup.py: Bump version.
* Tools/Scripts/libraries/webkitflaskpy/webkitflaskpy/__init__.py: Export 
IPCManager class.
* Tools/Scripts/libraries/webkitflaskpy/webkitflaskpy/ipc_manager.py: Added.
(IPCManager.encode): Return encoded dictionary and database key.
(IPCManager.__init__): Construct manager with a list of databases.
(IPCManager.register): Register a callback with a specific name.
(IPCManager.enqueue): Add a task to be run with arguments, number of retries 
and expiration.
(IPCManager.dequeue): Execute the specified task. If the execution is 
successful, delete the task.
Otherwise, decrement the retry counter for that task before raising the thrown 
exception.
(IPCManager.dequeue_all): Execute all tasks currently in the queue.
(IPCManager.tasks): List all tasks in the queue.
* 
Tools/Scripts/libraries/webkitflaskpy/webkitflaskpy/tests/ipc_manager_unittest.py:
 Added.
(IPCManagerUnittest.increment):
(IPCManagerUnittest.decrement):
(IPCManagerUnittest.test_encoding):
(IPCManagerUnittest.test_enqueue):
(IPCManagerUnittest.test_dequeue):
(IPCManagerUnittest.test_dequeue_all):
(IPCManagerUnittest.test_retry):

Canonical link: https://commits.webkit.org/261343@main


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to