diff --git a/backend/api/management/commands/worker.py b/backend/api/management/commands/worker.py
index 0e06a03..b00934f 100644
--- a/backend/api/management/commands/worker.py
+++ b/backend/api/management/commands/worker.py
@@ -23,7 +23,7 @@ class Command(BaseCommand):
# or those where next_run has passed.
now = timezone.now()
jobs_to_run = Job.objects.filter(
- status__in=['pending', 'failed']
+ ~models.Q(status='running')
).filter(
# Run if pending OR (next_run is set AND has passed)
models.Q(status='pending') |
diff --git a/frontend/src/pages/AdminDashboard.tsx b/frontend/src/pages/AdminDashboard.tsx
index d259066..0daf31a 100644
--- a/frontend/src/pages/AdminDashboard.tsx
+++ b/frontend/src/pages/AdminDashboard.tsx
@@ -4,7 +4,7 @@ import {
Table, TableBody, TableCell, TableContainer, TableHead, TableRow,
Paper, Stack, alpha, CircularProgress, Chip, TextField, IconButton,
useMediaQuery, Tabs, Tab, List, ListItem, ListItemText, Switch, Divider,
- Alert
+ Alert, Select, MenuItem, FormControl
} from '@mui/material';
import EditIcon from '@mui/icons-material/Edit';
import EmailIcon from '@mui/icons-material/Email';
@@ -509,23 +509,24 @@ const AdminDashboard: React.FC = () => {
Next Run
-
- {job.next_run ? formatDate(job.next_run) : (job.interval_hours > 0 ? 'Queued...' : 'Disabled')}
-
-
+ {job.next_run ? formatDate(job.next_run) : (job.interval_hours > 0 ? 'Queued...' : 'Disabled')}
- Interval (Hours)
-
- {job.interval_hours}h
-
-
+ Schedule
+
+
+