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.
- cyberfusion/QueueSupport/__init__.py +4 -1
- cyberfusion/QueueSupport/database.py +3 -0
- cyberfusion/QueueSupport/items/__init__.py +7 -0
- cyberfusion/QueueSupport/items/chmod.py +2 -0
- cyberfusion/QueueSupport/items/chown.py +2 -0
- cyberfusion/QueueSupport/items/command.py +2 -0
- cyberfusion/QueueSupport/items/copy.py +2 -0
- cyberfusion/QueueSupport/items/database_create.py +2 -0
- cyberfusion/QueueSupport/items/database_drop.py +2 -0
- cyberfusion/QueueSupport/items/database_user_drop.py +2 -0
- cyberfusion/QueueSupport/items/database_user_ensure_state.py +2 -0
- cyberfusion/QueueSupport/items/database_user_grant_grant.py +2 -0
- cyberfusion/QueueSupport/items/database_user_grant_revoke.py +2 -0
- cyberfusion/QueueSupport/items/mkdir.py +2 -0
- cyberfusion/QueueSupport/items/move.py +2 -0
- cyberfusion/QueueSupport/items/rmtree.py +2 -0
- cyberfusion/QueueSupport/items/systemd_daemon_reload.py +2 -0
- cyberfusion/QueueSupport/items/systemd_tmp_files_create.py +2 -0
- cyberfusion/QueueSupport/items/systemd_unit_disable.py +2 -0
- cyberfusion/QueueSupport/items/systemd_unit_enable.py +2 -0
- cyberfusion/QueueSupport/items/systemd_unit_reload.py +2 -0
- cyberfusion/QueueSupport/items/systemd_unit_restart.py +2 -0
- cyberfusion/QueueSupport/items/systemd_unit_start.py +2 -0
- cyberfusion/QueueSupport/items/systemd_unit_stop.py +2 -0
- cyberfusion/QueueSupport/items/unlink.py +2 -0
- cyberfusion/QueueSupport/migrations/versions/a1b2c3d4e5f6_add_fulfilled_to_queue_items.py +31 -0
- {python3_cyberfusion_queue_support-4.0.1.dist-info → python3_cyberfusion_queue_support-4.2.dist-info}/METADATA +1 -1
- python3_cyberfusion_queue_support-4.2.dist-info/RECORD +53 -0
- {python3_cyberfusion_queue_support-4.0.1.dist-info → python3_cyberfusion_queue_support-4.2.dist-info}/WHEEL +1 -1
- python3_cyberfusion_queue_support-4.0.1.dist-info/RECORD +0 -52
- {python3_cyberfusion_queue_support-4.0.1.dist-info → python3_cyberfusion_queue_support-4.2.dist-info}/entry_points.txt +0 -0
- {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
|
)
|
|
@@ -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.
|
|
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,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,,
|
|
File without changes
|
|
File without changes
|