python3-cyberfusion-queue-support 4.0.1__py3-none-any.whl → 4.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. cyberfusion/QueueSupport/__init__.py +4 -1
  2. cyberfusion/QueueSupport/database.py +3 -0
  3. cyberfusion/QueueSupport/items/__init__.py +7 -0
  4. cyberfusion/QueueSupport/items/chmod.py +2 -0
  5. cyberfusion/QueueSupport/items/chown.py +2 -0
  6. cyberfusion/QueueSupport/items/command.py +2 -0
  7. cyberfusion/QueueSupport/items/copy.py +2 -0
  8. cyberfusion/QueueSupport/items/database_create.py +2 -0
  9. cyberfusion/QueueSupport/items/database_drop.py +2 -0
  10. cyberfusion/QueueSupport/items/database_user_drop.py +2 -0
  11. cyberfusion/QueueSupport/items/database_user_ensure_state.py +2 -0
  12. cyberfusion/QueueSupport/items/database_user_grant_grant.py +2 -0
  13. cyberfusion/QueueSupport/items/database_user_grant_revoke.py +2 -0
  14. cyberfusion/QueueSupport/items/mkdir.py +2 -0
  15. cyberfusion/QueueSupport/items/move.py +2 -0
  16. cyberfusion/QueueSupport/items/rmtree.py +2 -0
  17. cyberfusion/QueueSupport/items/systemd_daemon_reload.py +2 -0
  18. cyberfusion/QueueSupport/items/systemd_tmp_files_create.py +2 -0
  19. cyberfusion/QueueSupport/items/systemd_unit_disable.py +2 -0
  20. cyberfusion/QueueSupport/items/systemd_unit_enable.py +2 -0
  21. cyberfusion/QueueSupport/items/systemd_unit_reload.py +2 -0
  22. cyberfusion/QueueSupport/items/systemd_unit_restart.py +2 -0
  23. cyberfusion/QueueSupport/items/systemd_unit_start.py +2 -0
  24. cyberfusion/QueueSupport/items/systemd_unit_stop.py +2 -0
  25. cyberfusion/QueueSupport/items/unlink.py +2 -0
  26. cyberfusion/QueueSupport/migrations/versions/a1b2c3d4e5f6_add_fulfilled_to_queue_items.py +31 -0
  27. {python3_cyberfusion_queue_support-4.0.1.dist-info → python3_cyberfusion_queue_support-4.2.dist-info}/METADATA +1 -1
  28. python3_cyberfusion_queue_support-4.2.dist-info/RECORD +53 -0
  29. {python3_cyberfusion_queue_support-4.0.1.dist-info → python3_cyberfusion_queue_support-4.2.dist-info}/WHEEL +1 -1
  30. python3_cyberfusion_queue_support-4.0.1.dist-info/RECORD +0 -52
  31. {python3_cyberfusion_queue_support-4.0.1.dist-info → python3_cyberfusion_queue_support-4.2.dist-info}/entry_points.txt +0 -0
  32. {python3_cyberfusion_queue_support-4.0.1.dist-info → python3_cyberfusion_queue_support-4.2.dist-info}/top_level.txt +0 -0
@@ -73,6 +73,7 @@ class Queue:
73
73
  deduplicated=deduplicated,
74
74
  attributes=item,
75
75
  traceback=None,
76
+ fulfilled=False,
76
77
  started_at=None,
77
78
  ended_at=None,
78
79
  )
@@ -108,7 +109,7 @@ class Queue:
108
109
 
109
110
  item_outcomes = []
110
111
 
111
- if preview:
112
+ if preview and not item_mapping.item.fulfill_in_preview:
112
113
  if not item_mapping.item.hide_outcomes:
113
114
  item_outcomes.extend(item_mapping.item.outcomes)
114
115
  else:
@@ -122,6 +123,8 @@ class Queue:
122
123
  else:
123
124
  item_outcomes.extend(item_mapping.item.fulfill())
124
125
 
126
+ item_mapping.database_object.fulfilled = True
127
+
125
128
  logger.debug(
126
129
  "Fulfilled item with ID '%s'", item_mapping.database_object.id
127
130
  )
@@ -155,6 +155,9 @@ class QueueItem(BaseModel):
155
155
  traceback: Mapped[Optional[str]] = mapped_column(
156
156
  String(),
157
157
  )
158
+ fulfilled: Mapped[bool] = mapped_column(
159
+ Boolean,
160
+ )
158
161
  started_at: Mapped[Optional[datetime]] = mapped_column(
159
162
  DateTime,
160
163
  )
@@ -19,11 +19,13 @@ class _Item(ItemInterface, ABC):
19
19
  reference: Optional[str] = None,
20
20
  hide_outcomes: bool = False,
21
21
  fail_silently: bool = False,
22
+ fulfill_in_preview: bool = False,
22
23
  ) -> None: # pragma: no cover
23
24
  """Set attributes."""
24
25
  self._reference = reference
25
26
  self._hide_outcomes = hide_outcomes
26
27
  self._fail_silently = fail_silently
28
+ self._fulfill_in_preview = fulfill_in_preview
27
29
 
28
30
  @property
29
31
  def hide_outcomes(self) -> bool:
@@ -35,6 +37,11 @@ class _Item(ItemInterface, ABC):
35
37
  """Get if queue process should be stopped on exception."""
36
38
  return self._fail_silently
37
39
 
40
+ @property
41
+ def fulfill_in_preview(self) -> bool:
42
+ """Get if item should be fulfilled even in preview mode."""
43
+ return self._fulfill_in_preview
44
+
38
45
  @property
39
46
  def reference(self) -> Optional[str]:
40
47
  """Get free-form reference, for users' own administrations."""
@@ -23,6 +23,7 @@ class ChmodItem(_Item):
23
23
  reference: Optional[str] = None,
24
24
  hide_outcomes: bool = False,
25
25
  fail_silently: bool = False,
26
+ fulfill_in_preview: bool = False,
26
27
  ) -> None:
27
28
  """Set attributes."""
28
29
  self.path = path
@@ -30,6 +31,7 @@ class ChmodItem(_Item):
30
31
  self._reference = reference
31
32
  self._hide_outcomes = hide_outcomes
32
33
  self._fail_silently = fail_silently
34
+ self._fulfill_in_preview = fulfill_in_preview
33
35
 
34
36
  if os.path.islink(self.path):
35
37
  raise PathIsSymlinkError(self.path)
@@ -40,6 +40,7 @@ class ChownItem(_Item):
40
40
  reference: Optional[str] = None,
41
41
  hide_outcomes: bool = False,
42
42
  fail_silently: bool = False,
43
+ fulfill_in_preview: bool = False,
43
44
  ) -> None:
44
45
  """Set attributes."""
45
46
  self.path = path
@@ -48,6 +49,7 @@ class ChownItem(_Item):
48
49
  self._reference = reference
49
50
  self._hide_outcomes = hide_outcomes
50
51
  self._fail_silently = fail_silently
52
+ self._fulfill_in_preview = fulfill_in_preview
51
53
 
52
54
  if os.path.islink(self.path):
53
55
  raise PathIsSymlinkError(self.path)
@@ -21,12 +21,14 @@ class CommandItem(_Item):
21
21
  reference: Optional[str] = None,
22
22
  hide_outcomes: bool = False,
23
23
  fail_silently: bool = False,
24
+ fulfill_in_preview: bool = False,
24
25
  ) -> None:
25
26
  """Set attributes."""
26
27
  self.command = command
27
28
  self._reference = reference
28
29
  self._hide_outcomes = hide_outcomes
29
30
  self._fail_silently = fail_silently
31
+ self._fulfill_in_preview = fulfill_in_preview
30
32
 
31
33
  @property
32
34
  def outcomes(self) -> List[CommandItemRunOutcome]:
@@ -24,6 +24,7 @@ class CopyItem(_Item):
24
24
  reference: Optional[str] = None,
25
25
  hide_outcomes: bool = False,
26
26
  fail_silently: bool = False,
27
+ fulfill_in_preview: bool = False,
27
28
  ) -> None:
28
29
  """Set attributes."""
29
30
  self.source = source
@@ -31,6 +32,7 @@ class CopyItem(_Item):
31
32
  self._reference = reference
32
33
  self._hide_outcomes = hide_outcomes
33
34
  self._fail_silently = fail_silently
35
+ self._fulfill_in_preview = fulfill_in_preview
34
36
 
35
37
  if os.path.islink(self.source):
36
38
  raise PathIsSymlinkError(self.source)
@@ -23,6 +23,7 @@ class DatabaseCreateItem(_Item):
23
23
  reference: Optional[str] = None,
24
24
  hide_outcomes: bool = False,
25
25
  fail_silently: bool = False,
26
+ fulfill_in_preview: bool = False,
26
27
  ) -> None:
27
28
  """Set attributes."""
28
29
  self.server_software_name = server_software_name
@@ -30,6 +31,7 @@ class DatabaseCreateItem(_Item):
30
31
  self._reference = reference
31
32
  self._hide_outcomes = hide_outcomes
32
33
  self._fail_silently = fail_silently
34
+ self._fulfill_in_preview = fulfill_in_preview
33
35
 
34
36
  self.database = Database(
35
37
  support=DatabaseSupport(server_software_names=[self.server_software_name]),
@@ -23,6 +23,7 @@ class DatabaseDropItem(_Item):
23
23
  reference: Optional[str] = None,
24
24
  hide_outcomes: bool = False,
25
25
  fail_silently: bool = False,
26
+ fulfill_in_preview: bool = False,
26
27
  ) -> None:
27
28
  """Set attributes."""
28
29
  self.server_software_name = server_software_name
@@ -30,6 +31,7 @@ class DatabaseDropItem(_Item):
30
31
  self._reference = reference
31
32
  self._hide_outcomes = hide_outcomes
32
33
  self._fail_silently = fail_silently
34
+ self._fulfill_in_preview = fulfill_in_preview
33
35
 
34
36
  self.database = Database(
35
37
  support=DatabaseSupport(server_software_names=[self.server_software_name]),
@@ -28,6 +28,7 @@ class DatabaseUserDropItem(_Item):
28
28
  reference: Optional[str] = None,
29
29
  hide_outcomes: bool = False,
30
30
  fail_silently: bool = False,
31
+ fulfill_in_preview: bool = False,
31
32
  ) -> None:
32
33
  """Set attributes."""
33
34
  self.server_software_name = server_software_name
@@ -36,6 +37,7 @@ class DatabaseUserDropItem(_Item):
36
37
  self._reference = reference
37
38
  self._hide_outcomes = hide_outcomes
38
39
  self._fail_silently = fail_silently
40
+ self._fulfill_in_preview = fulfill_in_preview
39
41
 
40
42
  self.database_user = DatabaseUser(
41
43
  server=Server(
@@ -30,6 +30,7 @@ class DatabaseUserEnsureStateItem(_Item):
30
30
  reference: Optional[str] = None,
31
31
  hide_outcomes: bool = False,
32
32
  fail_silently: bool = False,
33
+ fulfill_in_preview: bool = False,
33
34
  ) -> None:
34
35
  """Set attributes."""
35
36
  self.server_software_name = server_software_name
@@ -39,6 +40,7 @@ class DatabaseUserEnsureStateItem(_Item):
39
40
  self._reference = reference
40
41
  self._hide_outcomes = hide_outcomes
41
42
  self._fail_silently = fail_silently
43
+ self._fulfill_in_preview = fulfill_in_preview
42
44
 
43
45
  self.database_user = DatabaseUser(
44
46
  server=Server(
@@ -32,6 +32,7 @@ class DatabaseUserGrantGrantItem(_Item):
32
32
  reference: Optional[str] = None,
33
33
  hide_outcomes: bool = False,
34
34
  fail_silently: bool = False,
35
+ fulfill_in_preview: bool = False,
35
36
  ) -> None:
36
37
  """Set attributes."""
37
38
  self.server_software_name = server_software_name
@@ -43,6 +44,7 @@ class DatabaseUserGrantGrantItem(_Item):
43
44
  self._reference = reference
44
45
  self._hide_outcomes = hide_outcomes
45
46
  self._fail_silently = fail_silently
47
+ self._fulfill_in_preview = fulfill_in_preview
46
48
 
47
49
  self._database = Database(
48
50
  support=DatabaseSupport(server_software_names=[self.server_software_name]),
@@ -32,6 +32,7 @@ class DatabaseUserGrantRevokeItem(_Item):
32
32
  reference: Optional[str] = None,
33
33
  hide_outcomes: bool = False,
34
34
  fail_silently: bool = False,
35
+ fulfill_in_preview: bool = False,
35
36
  ) -> None:
36
37
  """Set attributes."""
37
38
  self.server_software_name = server_software_name
@@ -43,6 +44,7 @@ class DatabaseUserGrantRevokeItem(_Item):
43
44
  self._reference = reference
44
45
  self._hide_outcomes = hide_outcomes
45
46
  self._fail_silently = fail_silently
47
+ self._fulfill_in_preview = fulfill_in_preview
46
48
 
47
49
  self._database = Database(
48
50
  support=DatabaseSupport(server_software_names=[self.server_software_name]),
@@ -25,12 +25,14 @@ class MkdirItem(_Item):
25
25
  reference: Optional[str] = None,
26
26
  hide_outcomes: bool = False,
27
27
  fail_silently: bool = False,
28
+ fulfill_in_preview: bool = False,
28
29
  ) -> None:
29
30
  """Set attributes."""
30
31
  self.path = path
31
32
  self._reference = reference
32
33
  self._hide_outcomes = hide_outcomes
33
34
  self._fail_silently = fail_silently
35
+ self._fulfill_in_preview = fulfill_in_preview
34
36
 
35
37
  @property
36
38
  def outcomes(self) -> List[MkdirItemCreateOutcome]:
@@ -23,6 +23,7 @@ class MoveItem(_Item):
23
23
  reference: Optional[str] = None,
24
24
  hide_outcomes: bool = False,
25
25
  fail_silently: bool = False,
26
+ fulfill_in_preview: bool = False,
26
27
  ) -> None:
27
28
  """Set attributes."""
28
29
  self.source = source
@@ -30,6 +31,7 @@ class MoveItem(_Item):
30
31
  self._reference = reference
31
32
  self._hide_outcomes = hide_outcomes
32
33
  self._fail_silently = fail_silently
34
+ self._fulfill_in_preview = fulfill_in_preview
33
35
 
34
36
  if os.path.islink(self.source):
35
37
  raise PathIsSymlinkError(self.source)
@@ -24,12 +24,14 @@ class RmTreeItem(_Item):
24
24
  reference: Optional[str] = None,
25
25
  hide_outcomes: bool = False,
26
26
  fail_silently: bool = False,
27
+ fulfill_in_preview: bool = False,
27
28
  ) -> None:
28
29
  """Set attributes."""
29
30
  self.path = path
30
31
  self._reference = reference
31
32
  self._hide_outcomes = hide_outcomes
32
33
  self._fail_silently = fail_silently
34
+ self._fulfill_in_preview = fulfill_in_preview
33
35
 
34
36
  if os.path.islink(self.path):
35
37
  raise PathIsSymlinkError(self.path)
@@ -22,11 +22,13 @@ class SystemdDaemonReloadItem(_Item):
22
22
  reference: Optional[str] = None,
23
23
  hide_outcomes: bool = False,
24
24
  fail_silently: bool = False,
25
+ fulfill_in_preview: bool = False,
25
26
  ) -> None:
26
27
  """Set attributes."""
27
28
  self._reference = reference
28
29
  self._hide_outcomes = hide_outcomes
29
30
  self._fail_silently = fail_silently
31
+ self._fulfill_in_preview = fulfill_in_preview
30
32
 
31
33
  @property
32
34
  def outcomes(self) -> List[SystemdDaemonReloadItemReloadOutcome]:
@@ -22,12 +22,14 @@ class SystemdTmpFilesCreateItem(_Item):
22
22
  reference: Optional[str] = None,
23
23
  hide_outcomes: bool = False,
24
24
  fail_silently: bool = False,
25
+ fulfill_in_preview: bool = False,
25
26
  ) -> None:
26
27
  """Set attributes."""
27
28
  self.path = path
28
29
  self._reference = reference
29
30
  self._hide_outcomes = hide_outcomes
30
31
  self._fail_silently = fail_silently
32
+ self._fulfill_in_preview = fulfill_in_preview
31
33
 
32
34
  @property
33
35
  def outcomes(self) -> List[SystemdTmpFilesCreateItemCreateOutcome]:
@@ -22,12 +22,14 @@ class SystemdUnitDisableItem(_Item):
22
22
  reference: Optional[str] = None,
23
23
  hide_outcomes: bool = False,
24
24
  fail_silently: bool = False,
25
+ fulfill_in_preview: bool = False,
25
26
  ) -> None:
26
27
  """Set attributes."""
27
28
  self.name = name
28
29
  self._reference = reference
29
30
  self._hide_outcomes = hide_outcomes
30
31
  self._fail_silently = fail_silently
32
+ self._fulfill_in_preview = fulfill_in_preview
31
33
 
32
34
  self.unit = Unit(self.name)
33
35
 
@@ -22,12 +22,14 @@ class SystemdUnitEnableItem(_Item):
22
22
  reference: Optional[str] = None,
23
23
  hide_outcomes: bool = False,
24
24
  fail_silently: bool = False,
25
+ fulfill_in_preview: bool = False,
25
26
  ) -> None:
26
27
  """Set attributes."""
27
28
  self.name = name
28
29
  self._reference = reference
29
30
  self._hide_outcomes = hide_outcomes
30
31
  self._fail_silently = fail_silently
32
+ self._fulfill_in_preview = fulfill_in_preview
31
33
 
32
34
  self.unit = Unit(self.name)
33
35
 
@@ -22,12 +22,14 @@ class SystemdUnitReloadItem(_Item):
22
22
  reference: Optional[str] = None,
23
23
  hide_outcomes: bool = False,
24
24
  fail_silently: bool = False,
25
+ fulfill_in_preview: bool = False,
25
26
  ) -> None:
26
27
  """Set attributes."""
27
28
  self.name = name
28
29
  self._reference = reference
29
30
  self._hide_outcomes = hide_outcomes
30
31
  self._fail_silently = fail_silently
32
+ self._fulfill_in_preview = fulfill_in_preview
31
33
 
32
34
  self.unit = Unit(self.name)
33
35
 
@@ -22,12 +22,14 @@ class SystemdUnitRestartItem(_Item):
22
22
  reference: Optional[str] = None,
23
23
  hide_outcomes: bool = False,
24
24
  fail_silently: bool = False,
25
+ fulfill_in_preview: bool = False,
25
26
  ) -> None:
26
27
  """Set attributes."""
27
28
  self.name = name
28
29
  self._reference = reference
29
30
  self._hide_outcomes = hide_outcomes
30
31
  self._fail_silently = fail_silently
32
+ self._fulfill_in_preview = fulfill_in_preview
31
33
 
32
34
  self.unit = Unit(self.name)
33
35
 
@@ -22,12 +22,14 @@ class SystemdUnitStartItem(_Item):
22
22
  reference: Optional[str] = None,
23
23
  hide_outcomes: bool = False,
24
24
  fail_silently: bool = False,
25
+ fulfill_in_preview: bool = False,
25
26
  ) -> None:
26
27
  """Set attributes."""
27
28
  self.name = name
28
29
  self._reference = reference
29
30
  self._hide_outcomes = hide_outcomes
30
31
  self._fail_silently = fail_silently
32
+ self._fulfill_in_preview = fulfill_in_preview
31
33
 
32
34
  self.unit = Unit(self.name)
33
35
 
@@ -20,12 +20,14 @@ class SystemdUnitStopItem(_Item):
20
20
  reference: Optional[str] = None,
21
21
  hide_outcomes: bool = False,
22
22
  fail_silently: bool = False,
23
+ fulfill_in_preview: bool = False,
23
24
  ) -> None:
24
25
  """Set attributes."""
25
26
  self.name = name
26
27
  self._reference = reference
27
28
  self._hide_outcomes = hide_outcomes
28
29
  self._fail_silently = fail_silently
30
+ self._fulfill_in_preview = fulfill_in_preview
29
31
 
30
32
  self.unit = Unit(self.name)
31
33
 
@@ -21,12 +21,14 @@ class UnlinkItem(_Item):
21
21
  reference: Optional[str] = None,
22
22
  hide_outcomes: bool = False,
23
23
  fail_silently: bool = False,
24
+ fulfill_in_preview: bool = False,
24
25
  ) -> None:
25
26
  """Set attributes."""
26
27
  self.path = path
27
28
  self._reference = reference
28
29
  self._hide_outcomes = hide_outcomes
29
30
  self._fail_silently = fail_silently
31
+ self._fulfill_in_preview = fulfill_in_preview
30
32
 
31
33
  if os.path.islink(self.path):
32
34
  raise PathIsSymlinkError(self.path)
@@ -0,0 +1,31 @@
1
+ """Queue items: add fulfilled
2
+
3
+ Revision ID: a1b2c3d4e5f6
4
+ Revises: 19e77347a42d
5
+ Create Date: 2026-03-22 00:00:00.000000
6
+
7
+ """
8
+
9
+ from alembic import op
10
+ import sqlalchemy as sa
11
+
12
+
13
+ # revision identifiers, used by Alembic.
14
+ revision = "a1b2c3d4e5f6"
15
+ down_revision = "19e77347a42d"
16
+ branch_labels = None
17
+ depends_on = None
18
+
19
+
20
+ def upgrade() -> None:
21
+ with op.batch_alter_table("queue_items", schema=None) as batch_op:
22
+ batch_op.add_column(
23
+ sa.Column(
24
+ "fulfilled", sa.Boolean(), nullable=False, server_default=sa.text("0")
25
+ )
26
+ )
27
+
28
+
29
+ def downgrade() -> None:
30
+ with op.batch_alter_table("queue_items", schema=None) as batch_op:
31
+ batch_op.drop_column("fulfilled")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python3-cyberfusion-queue-support
3
- Version: 4.0.1
3
+ Version: 4.2
4
4
  Summary: Library to queue actions.
5
5
  Author-email: Cyberfusion <support@cyberfusion.io>
6
6
  Project-URL: Source, https://github.com/CyberfusionIO/python3-cyberfusion-queue-support
@@ -0,0 +1,53 @@
1
+ cyberfusion/QueueSupport/__init__.py,sha256=Qy7z8qMRtX1cDJO3pvXgX0Qi3KWOYVyiFsCrlbGaaGA,5322
2
+ cyberfusion/QueueSupport/database.py,sha256=Ik1Ky6r03CQ9k9uwNscz-joqBZdEMvh-KzMufJF8wmk,5620
3
+ cyberfusion/QueueSupport/encoders.py,sha256=SzuMoyr2q3ME8LI_bZtpP76Xg7SP0B4O4uUuywrDwBI,1532
4
+ cyberfusion/QueueSupport/enums.py,sha256=XzOy5J4sa7SOCKNFyw9kw3MyqDkjPookbfiMQHRHGfQ,122
5
+ cyberfusion/QueueSupport/interfaces.py,sha256=ip8z6cfLFldQCDSec6fK6AIOdxOjIyFykDv4dCHJYSI,943
6
+ cyberfusion/QueueSupport/outcomes.py,sha256=M1qkxSBxrNFZMZJAmdiixmFo6peWFrVL9ka7l1AdnUI,18512
7
+ cyberfusion/QueueSupport/sentinels.py,sha256=LwD1BUxDJgY6aJr21cunZKRn5nycqqlNlmJhFKjqUBw,57
8
+ cyberfusion/QueueSupport/settings.py,sha256=g6tcl1E1VgmZaEf2WoKTxIpD7YQM2AtFVwfUK3837zk,368
9
+ cyberfusion/QueueSupport/utilities.py,sha256=vsQOZunX0UwudoIauCPV-Ij1TVrjWG_16wctvJPaMVQ,186
10
+ cyberfusion/QueueSupport/exceptions/__init__.py,sha256=-V2zogW30vU3--qLswYRAvB1hE2X0rAWid5q9q-lE1s,551
11
+ cyberfusion/QueueSupport/items/__init__.py,sha256=7njyFxydg2rXi915ArDCME1xoLriUUgccpdXTnXYYRw,1338
12
+ cyberfusion/QueueSupport/items/chmod.py,sha256=jwOhX21AusFLkHl1aX64bEck6FFcEUecw4yVnoI27KY,2218
13
+ cyberfusion/QueueSupport/items/chown.py,sha256=O066WZzB0p6RPGR2uc91pYLDZ2YvUyIJnh152EnHCCQ,4231
14
+ cyberfusion/QueueSupport/items/command.py,sha256=cFhZKsA_cfwbZ0frsHdetboF7md06LLxwoz2SnN92-0,2034
15
+ cyberfusion/QueueSupport/items/copy.py,sha256=aEW8HW3dZK2XZiTK06Bb2gdQjCfbFZI2qyKrjiTnzP4,3184
16
+ cyberfusion/QueueSupport/items/database_create.py,sha256=9Y3p4dWhd04AZe7_2LlP96Uar1OTqxWU5VuZ38mlagI,2009
17
+ cyberfusion/QueueSupport/items/database_drop.py,sha256=BkUL7Z978n1m2G0P5lZ4mWHftxMCFxA1hNZc6jzJgpE,1983
18
+ cyberfusion/QueueSupport/items/database_user_drop.py,sha256=I-FmoO50YEI1WueDFsS_BEgMm3oTkMCJEnZlmSLNzWI,2367
19
+ cyberfusion/QueueSupport/items/database_user_ensure_state.py,sha256=CuTaXlI3FwIf3JvS7L4WAYX-blL6-VZHBnicALpwYDY,3118
20
+ cyberfusion/QueueSupport/items/database_user_grant_grant.py,sha256=UztRREj-aFbG_0qJd9sORG9ugE9rZSzaMesRIup_o3M,3869
21
+ cyberfusion/QueueSupport/items/database_user_grant_revoke.py,sha256=525PhSO5Y_AValeVsGBWXFQbFYgSDdGGITrvvkALaIY,3876
22
+ cyberfusion/QueueSupport/items/mkdir.py,sha256=xnEmVHCMQS2U5sQ1wB_0dEixM9_0t5wOu_ASPY1b9I0,1901
23
+ cyberfusion/QueueSupport/items/move.py,sha256=NtrtRn1n-MKXyinWY1Q8JdieQqsgAYanj6gj9298zaw,1846
24
+ cyberfusion/QueueSupport/items/rmtree.py,sha256=9DUgzD8M8V8FVrt_5XpXNhpVurkwcdQs4qLq7CtXjK4,2103
25
+ cyberfusion/QueueSupport/items/systemd_daemon_reload.py,sha256=-4kKijcLOAjuAUy_ZZO6luV8UZuQ37avm2fYGDwF7Vc,1459
26
+ cyberfusion/QueueSupport/items/systemd_tmp_files_create.py,sha256=FpsqkOKTmBGh6aP0Mm0uk5rPNz9lCuzR8MTZToqjVUQ,1582
27
+ cyberfusion/QueueSupport/items/systemd_unit_disable.py,sha256=f22aNKfguqq0okJCEwwJrlBfa-aEyfJljPxJhgEI9C0,1593
28
+ cyberfusion/QueueSupport/items/systemd_unit_enable.py,sha256=XRoRguY0jULN8bIf_NSRALd4si6SIjf1BI2FOuSyXi4,1586
29
+ cyberfusion/QueueSupport/items/systemd_unit_reload.py,sha256=T8rMRtNVP7Ime3CtMd5luqvd6h7HnGqU-IxEatGOSKU,1545
30
+ cyberfusion/QueueSupport/items/systemd_unit_restart.py,sha256=JuJskchiO6CY-MC6SP_8yYr8CAdnjqqMLQ2c_fJUl40,1556
31
+ cyberfusion/QueueSupport/items/systemd_unit_start.py,sha256=ixP4QWd7b1hGNSwKe4FROH8sKi_cxNRQ6WT39BvzK-Q,1574
32
+ cyberfusion/QueueSupport/items/systemd_unit_stop.py,sha256=C7QP_6w1-F44cjdoGRt2DPJl7Lkk8irM-78w3CM38e4,1550
33
+ cyberfusion/QueueSupport/items/unlink.py,sha256=osjxhOBrdYfTs-RXyW9AeNhyD_CNOnp-mIzVT2hVet8,1660
34
+ cyberfusion/QueueSupport/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
35
+ cyberfusion/QueueSupport/migrations/env.py,sha256=ieFeyGnY5ZhsV9MTQNum8O9DTVFR_xrxPM_BvaD9dKo,1203
36
+ cyberfusion/QueueSupport/migrations/versions/03d4e411c575_add_fail_silently.py,sha256=ObiRDaK-Dp4GstAYIjZQEbTWGPtJ7XQsVb6d4x1n87k,570
37
+ cyberfusion/QueueSupport/migrations/versions/19e77347a42d_queue_items_add_started_ended__at.py,sha256=ugw7IPdUvLy9w4eUKQQIPt6lhZfGICl7twL6LGlfWy8,762
38
+ cyberfusion/QueueSupport/migrations/versions/2f4316506856_add_cascade_deletes.py,sha256=WqLQFTrsaPpYSSMvj8FepWyhSm_icmIk8ijX2So7tYk,1936
39
+ cyberfusion/QueueSupport/migrations/versions/52d1b17abcd0_add_status.py,sha256=gmQun_HQNtwB7L7YMPyimT0jE2qe6xCO7cc6V6PCg1k,605
40
+ cyberfusion/QueueSupport/migrations/versions/571e55ab5ed5_initial_migration.py,sha256=1yYFZhQyHVnn1nHXxLVRb94V7gXprWYMfIDhF0_DPVU,2845
41
+ cyberfusion/QueueSupport/migrations/versions/8023b9eecdd1_add_traceback_to_queue_items.py,sha256=IfwqqHeE6e4iDH3bc6FrOgdBT4w-Kxa2MYv0dzYjEbk,497
42
+ cyberfusion/QueueSupport/migrations/versions/8406a0af7394_set_status_on_existing_queue_processes.py,sha256=fhfeErva3B3rrmr6-cbGO8DrjXU6qp1sIzVJGzOJ7iI,424
43
+ cyberfusion/QueueSupport/migrations/versions/93c79cb2baba_add_indexes.py,sha256=raIrgSg6b4CboiSvtzhBy7q7kuREb8FeYKCUtBTaYbM,1651
44
+ cyberfusion/QueueSupport/migrations/versions/9ae29b5db790_add_string_to_queue_item_outcomes.py,sha256=CzNJVL5Ia_J5woGsnCRSrlraoaT8YfgZUVOlAWHjb2Y,546
45
+ cyberfusion/QueueSupport/migrations/versions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
+ cyberfusion/QueueSupport/migrations/versions/a1b2c3d4e5f6_add_fulfilled_to_queue_items.py,sha256=Gk8nZJDkwJDXIN2V5usJ7nxuMdTXGlKhFYlcG-BsroI,710
47
+ cyberfusion/QueueSupport/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
48
+ cyberfusion/QueueSupport/scripts/purge_queues.py,sha256=W1-p85YhAJhJfHIPQrS0KVgrLMzWPlGniDTZ_dSma_w,473
49
+ python3_cyberfusion_queue_support-4.2.dist-info/METADATA,sha256=9Ufs6pSoiEzI9690b3HkRNrTc2PgeS_PM3JqyBolIkc,4621
50
+ python3_cyberfusion_queue_support-4.2.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
51
+ python3_cyberfusion_queue_support-4.2.dist-info/entry_points.txt,sha256=z7WykKo9hbm5I1iMbHIearPGdkGemhQnSkl7a44zMDY,171
52
+ python3_cyberfusion_queue_support-4.2.dist-info/top_level.txt,sha256=ss011q9S6SL_KIIyq7iujFmIYa0grSjlnInO7cDkeag,12
53
+ python3_cyberfusion_queue_support-4.2.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (82.0.0)
2
+ Generator: setuptools (82.0.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,52 +0,0 @@
1
- cyberfusion/QueueSupport/__init__.py,sha256=74xbknQOQRDfgKjMnguMbuwiDZqMjomO_5-hC0Gv7KQ,5181
2
- cyberfusion/QueueSupport/database.py,sha256=EnYdhiPR4ms8izpjKqzBu-pRMr9duNatNrGkQDo4fHw,5552
3
- cyberfusion/QueueSupport/encoders.py,sha256=SzuMoyr2q3ME8LI_bZtpP76Xg7SP0B4O4uUuywrDwBI,1532
4
- cyberfusion/QueueSupport/enums.py,sha256=XzOy5J4sa7SOCKNFyw9kw3MyqDkjPookbfiMQHRHGfQ,122
5
- cyberfusion/QueueSupport/interfaces.py,sha256=ip8z6cfLFldQCDSec6fK6AIOdxOjIyFykDv4dCHJYSI,943
6
- cyberfusion/QueueSupport/outcomes.py,sha256=M1qkxSBxrNFZMZJAmdiixmFo6peWFrVL9ka7l1AdnUI,18512
7
- cyberfusion/QueueSupport/sentinels.py,sha256=LwD1BUxDJgY6aJr21cunZKRn5nycqqlNlmJhFKjqUBw,57
8
- cyberfusion/QueueSupport/settings.py,sha256=g6tcl1E1VgmZaEf2WoKTxIpD7YQM2AtFVwfUK3837zk,368
9
- cyberfusion/QueueSupport/utilities.py,sha256=vsQOZunX0UwudoIauCPV-Ij1TVrjWG_16wctvJPaMVQ,186
10
- cyberfusion/QueueSupport/exceptions/__init__.py,sha256=-V2zogW30vU3--qLswYRAvB1hE2X0rAWid5q9q-lE1s,551
11
- cyberfusion/QueueSupport/items/__init__.py,sha256=_2nJSRRDofe-whGZOLzp0SXoafZNYP6GAh8DVBNj5Jg,1077
12
- cyberfusion/QueueSupport/items/chmod.py,sha256=jkS3hkmMxgUpPumhK1DfiR6YQ-gZBKmaizwObdjF_7o,2122
13
- cyberfusion/QueueSupport/items/chown.py,sha256=8NGg4p6r9Jl03jC1Z2J2EBdUVFjgV0nXVmlw0YZIS2k,4135
14
- cyberfusion/QueueSupport/items/command.py,sha256=pa5lyB2uvGzFVMy36qHsA-G0F63R36MHH1YXlcGa4y8,1938
15
- cyberfusion/QueueSupport/items/copy.py,sha256=cbsarpN69xVCxCHdX8z-e_pI8zGjmMuyF3u2p_hMkaw,3088
16
- cyberfusion/QueueSupport/items/database_create.py,sha256=VNlSXjmrMjYk6GP0wKSo1pNa1iEWzc0zpYcCsbAf_zA,1913
17
- cyberfusion/QueueSupport/items/database_drop.py,sha256=jo-bbtOarX0G37lZsW1gWHWgPu8LRsW4JWaNyyWnmm0,1887
18
- cyberfusion/QueueSupport/items/database_user_drop.py,sha256=KrWbRYD7CzoxkHVVo82gHGq1NFewzNzflorWRzm_oyM,2271
19
- cyberfusion/QueueSupport/items/database_user_ensure_state.py,sha256=kJC6be3bnWuw-yKhb2BqIumAXPMRvyPgIu4Rt4timE4,3022
20
- cyberfusion/QueueSupport/items/database_user_grant_grant.py,sha256=hZ6xv0CSBrCcxjX5OKje66CnzCDGp8Melx-JmfZUFc4,3773
21
- cyberfusion/QueueSupport/items/database_user_grant_revoke.py,sha256=njD8TdEukco4JIg71L-cBYsl2g0Tzt9J6LUd3Xbcd5s,3780
22
- cyberfusion/QueueSupport/items/mkdir.py,sha256=Wi_lEbmhEll2ReAwCRscX6gtyG7j0D2RVMFl0QRv7UA,1805
23
- cyberfusion/QueueSupport/items/move.py,sha256=0JzuQdQ7DU3jXmF0xziE8G_SXQqQsWI95QUVWva11zM,1750
24
- cyberfusion/QueueSupport/items/rmtree.py,sha256=WtrdU8ehE2oT43RCYaUQhW2amZKSt1_Oxy5op5bMrHU,2007
25
- cyberfusion/QueueSupport/items/systemd_daemon_reload.py,sha256=MTHp3ypnyFh5y23lYKKS8wCLHQ4-HRRstImStubpPXE,1363
26
- cyberfusion/QueueSupport/items/systemd_tmp_files_create.py,sha256=AcDgX6SULDSDBIFo4qT9aD5-5hmZP33z8GWxt-3iwGI,1486
27
- cyberfusion/QueueSupport/items/systemd_unit_disable.py,sha256=VrV71U_M4b6pmT53G6e6pvnwqYMR66MK8Q6JOXutW8M,1497
28
- cyberfusion/QueueSupport/items/systemd_unit_enable.py,sha256=LvRk7aMRhO5gH3O1cCxWlzf5Xc-n_uIALYp8pW-TYM8,1490
29
- cyberfusion/QueueSupport/items/systemd_unit_reload.py,sha256=oRncd2Ikz3JssPhBDS5wH-EatEDgYNM4b1fj7SC4p0M,1449
30
- cyberfusion/QueueSupport/items/systemd_unit_restart.py,sha256=l4_uVC8GrEGctpxx5AJlKAFC3nVtBIVAAXHqzqEJva4,1460
31
- cyberfusion/QueueSupport/items/systemd_unit_start.py,sha256=ipE-gbHlQlX3lvOp64odwLcRgcYuO3Zzhp7nAnq4eoQ,1478
32
- cyberfusion/QueueSupport/items/systemd_unit_stop.py,sha256=Z1u8CYxSBK_5pHwlCPFV74216f9jnQKSgcwzAVaiO60,1454
33
- cyberfusion/QueueSupport/items/unlink.py,sha256=SEPAt53ANilygrvo4LriXZoDBbv1BNXs49ajwXiR0Jw,1564
34
- cyberfusion/QueueSupport/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
35
- cyberfusion/QueueSupport/migrations/env.py,sha256=ieFeyGnY5ZhsV9MTQNum8O9DTVFR_xrxPM_BvaD9dKo,1203
36
- cyberfusion/QueueSupport/migrations/versions/03d4e411c575_add_fail_silently.py,sha256=ObiRDaK-Dp4GstAYIjZQEbTWGPtJ7XQsVb6d4x1n87k,570
37
- cyberfusion/QueueSupport/migrations/versions/19e77347a42d_queue_items_add_started_ended__at.py,sha256=ugw7IPdUvLy9w4eUKQQIPt6lhZfGICl7twL6LGlfWy8,762
38
- cyberfusion/QueueSupport/migrations/versions/2f4316506856_add_cascade_deletes.py,sha256=WqLQFTrsaPpYSSMvj8FepWyhSm_icmIk8ijX2So7tYk,1936
39
- cyberfusion/QueueSupport/migrations/versions/52d1b17abcd0_add_status.py,sha256=gmQun_HQNtwB7L7YMPyimT0jE2qe6xCO7cc6V6PCg1k,605
40
- cyberfusion/QueueSupport/migrations/versions/571e55ab5ed5_initial_migration.py,sha256=1yYFZhQyHVnn1nHXxLVRb94V7gXprWYMfIDhF0_DPVU,2845
41
- cyberfusion/QueueSupport/migrations/versions/8023b9eecdd1_add_traceback_to_queue_items.py,sha256=IfwqqHeE6e4iDH3bc6FrOgdBT4w-Kxa2MYv0dzYjEbk,497
42
- cyberfusion/QueueSupport/migrations/versions/8406a0af7394_set_status_on_existing_queue_processes.py,sha256=fhfeErva3B3rrmr6-cbGO8DrjXU6qp1sIzVJGzOJ7iI,424
43
- cyberfusion/QueueSupport/migrations/versions/93c79cb2baba_add_indexes.py,sha256=raIrgSg6b4CboiSvtzhBy7q7kuREb8FeYKCUtBTaYbM,1651
44
- cyberfusion/QueueSupport/migrations/versions/9ae29b5db790_add_string_to_queue_item_outcomes.py,sha256=CzNJVL5Ia_J5woGsnCRSrlraoaT8YfgZUVOlAWHjb2Y,546
45
- cyberfusion/QueueSupport/migrations/versions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
- cyberfusion/QueueSupport/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
47
- cyberfusion/QueueSupport/scripts/purge_queues.py,sha256=W1-p85YhAJhJfHIPQrS0KVgrLMzWPlGniDTZ_dSma_w,473
48
- python3_cyberfusion_queue_support-4.0.1.dist-info/METADATA,sha256=24rrU3PsqH7wklbk_f9zpt_Iv051X8fEyhRXsQIR_Wk,4623
49
- python3_cyberfusion_queue_support-4.0.1.dist-info/WHEEL,sha256=YCfwYGOYMi5Jhw2fU4yNgwErybb2IX5PEwBKV4ZbdBo,91
50
- python3_cyberfusion_queue_support-4.0.1.dist-info/entry_points.txt,sha256=z7WykKo9hbm5I1iMbHIearPGdkGemhQnSkl7a44zMDY,171
51
- python3_cyberfusion_queue_support-4.0.1.dist-info/top_level.txt,sha256=ss011q9S6SL_KIIyq7iujFmIYa0grSjlnInO7cDkeag,12
52
- python3_cyberfusion_queue_support-4.0.1.dist-info/RECORD,,