Użytkownicy mojej aplikacji muszą mieć możliwość zaplanowania uruchomienia określonego zadania w określonych godzinach (np. tylko raz, co minutę, co godzinę itp.). Moim planem jest, aby cron co minutę uruchamiał skrypt, aby sprawdzić, czy aplikacja ma zadania do wykonania. Jeśli tak, wykonaj zadania.
Pytania:
- Czy uruchamianie crona co minutę to dobry pomysł?
- Jak modelować w interwałach bazy danych, tak jak robi to cron (np. co minutę, co 5 minut co godzinę itp.)?
Używam LAMP.
2 odpowiedzi
Lub zamiast wykonywać jakąkolwiek, wiesz, prawdziwą pracę, po prostu stwórz interfejs dla użytkowników, a następnie opublikuj wpisy w cron! Zamiast mieć crona dzwoniącego do ciebie co minutę, niech wywołuje skrypty zgodnie z zaleceniami użytkowników. Kiedy dodają lub zmieniają zadania, przepisz crontab.
Nie ma sprawy.
W unixie cron pozwala każdemu użytkownikowi (to znaczy loginowi unixowemu) mieć własną tabelę crontab, więc możesz mieć jedną dedykowaną dla swojej aplikacji, nie musisz do tego używać crontab root.
Czy masz na myśli, że masz serię zadań zdefiniowanych przez użytkownika, które wymagają wykonania w określonych przez użytkownika odstępach czasu, i chcesz, aby cron ułatwiał przetwarzanie tych zadań? Jeśli tak, chciałbyś mieć bazę danych z co najmniej 2 polami: JOB, OFTEN
Gdzie CZĘSTO oznacza, jak często chcieliby, aby zadanie było uruchamiane, używając składni podobnej do CRON.
Wtedy musisz napisać skrypt (w Pythonie, Ruby lub podobnym języku), aby przeanalizować te dane. ten skrypt będzie uruchamiany co 1 minutę za pośrednictwem twojego rzeczywistego crona.
Spójrz na to pytanie StackOverflow i to pytanie StackOverflow, dotyczące sposobu analizowania danych crontab za pomocą Pythona.
Podobne pytania
Nowe pytania
mysql
MySQL to darmowy system zarządzania relacyjnymi bazami danych (RDBMS) o otwartym kodzie źródłowym, który wykorzystuje język SQL (Structured Query Language). NIE UŻYWAJ tego znacznika dla innych baz danych, takich jak SQL Server, SQLite itp. Są to różne bazy danych, które używają własnych dialektów SQL do zarządzania danymi.