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 + + +