Алгоритм создания приложения AutoSheduling - PullRequest
0 голосов
/ 04 апреля 2020

Я новичок в React и решил начать с этого проекта.

По сути, я пытаюсь создать автоматический планировщик, который принимает задачи, которые по существу являются объектами со свойствами, такими как срок исполнения, важность, тема, топи c et c.

Поэтому я пытаюсь разработать алгоритм, в котором он принимает массив этих объектов задачи и сортирует их в соответствии с графиком. Моя проблема в том, как мне go создать такой сложный алгоритм и отсортировать список.

Предположим также, что я должен был добавить глобальные правила, например, я не делаю больше 8 часов в день или не делаю два часа для одного и того же класса подряд.

Как я могу go о разработке такого алгоритма?

Вот моя идея. (Я еще не реализовал это) Я по сути разрабатываю уравнение, в котором я умножаю все свойства объекта задачи на константу и присваиваю им номер сортировки, а затем сортирую массив по этому числу.

Наконец, я запускаю al oop для этого массива и проверяю соблюдение глобальных правил.

Если у вас есть идея или решение получше, пожалуйста, дайте мне знать. Спасибо!

1 Ответ

0 голосов
/ 09 апреля 2020

Возможно, вы захотите запустить свой процесс в облаке, поэтому у вас есть преимущества отказоустойчивости, параллельной обработки и т. Д. c., И т. c. Вот один из вариантов.

https://cloud.google.com/run/docs/triggering/using-scheduler

 Console

    Visit the Cloud Scheduler console page.

    Go to Cloud Scheduler

    Click Create job.

    screenshot

    Supply a name for the job.

    Specify the frequency, or job interval, at which the job is to run, using a configuration string. For example, the string 0 */3 * * * runs the job every 3 hours. The string you supply here can be any crontab compatible string.

    For more information, see Configuring Job Schedules.

    From the dropdown list, choose the timezone to be used for the job frequency.

    Specify HTTP as the target:

        Specify the fully qualified URL of your service, for example https://myservice-abcdef-uc.a.run.app The job will send requests to this URL.

        Specify the HTTP method: the method must match what your previously deployed Cloud Run service is expecting. The default is POST.

        Optionally, specify the data to be sent to the target. This data is sent in the body of the request when either the POST or PUT HTTP method is selected.

        Click More to show the auth settings.

        From the dropdown menu, select Add OIDC token.

        In the Service account field, copy the service account email of the service account you created previously.

        In the Audience field, copy the full URL of your service.

    Click Create to create and save the job.

Gcloud

    Create the job:

    gcloud beta scheduler jobs create http test-job --schedule "5 * * * *" \
       --http-method=HTTP-METHOD \
       --uri=SERVICE-URL \
       --oidc-service-account-email=SERVICE-ACCOUNT-EMAIL   \
       --oidc-token-audience=SERVICE-URL

Replace

    HTTP-METHOD with the HTTP method, eg, GET, POST, PUT, etc.
    SERVICE-URL with your service URL.
    SERVICE-ACCOUNT-EMAIL with your service account email.

Кроме того, и это своего рода старомодный способ сделать это, но я вырос в 80-х и начале 90-х, так что я все еще фанат Windows Планировщик.

https://www.windowscentral.com/how-create-automated-task-using-task-scheduler-windows-10

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...