public inbox for pbs-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Dominik Csapak <d.csapak@proxmox.com>
To: pbs-devel@lists.proxmox.com
Subject: [pbs-devel] [PATCH proxmox-backup v3 0/9] improve syncjob handling
Date: Thu, 13 Aug 2020 10:29:12 +0200	[thread overview]
Message-ID: <20200813082921.28946-1-d.csapak@proxmox.com> (raw)

by saving the state in a separate file instead of parsing the task log
should be faster and more correct, since we cannot phase out
the last sync if too many tasks are started

we have to do the same for all other tasks that can be scheduled

changes from v2:
* change upid_read_status to also return the endtime (parsed from the log)
* use wrapper struct that holds the state and a lock (Job)
* use that wrapper to hold the lock from loading until the worker is finshed
* better comments and documentation
* squashed commits for schedules
* polling the abort_future in do_sync_jobs worker
* fix a bug in 8/9 (Proxmox.Utils vs Promxox.Utils)

changes from v1:
* rebase on master (new Userid struct)
* use an enum instead of a struct for jobstate since it
  better represents what we want
  (this way we do not have to save the starttime twice for example)
* add an enum for TaskState and use that (instead of strings)
  (by doing this we can better parse the state for the syncview)
* incorporate dietmar suggestsions
* refactor do_sync_job first and extend after that
* improve the state display in the gui
* make some columsn smaller in the gui

Dominik Csapak (9):
  server: change status of a task from a string to an enum
  server/worker_task: let upid_read_status also return the endtime
  config: add JobState helper
  api2/admin/sync: use JobState for faster access to state info
  api/{pull,sync}: refactor to do_sync_job
  api2/pull: extend do_sync_job to also handle schedule and jobstate
  syncjob: use do_sync_job also for scheduled sync jobs
  ui: syncjob: improve task text rendering
  ui: syncjob: make some columns smaller

 src/api2/admin/sync.rs          |  76 ++++------
 src/api2/config/sync.rs         |   2 +
 src/api2/node/tasks.rs          |   8 +-
 src/api2/pull.rs                |  66 ++++++++
 src/api2/types/mod.rs           |   2 +-
 src/bin/proxmox-backup-api.rs   |   1 +
 src/bin/proxmox-backup-proxy.rs |  83 ++--------
 src/config.rs                   |   1 +
 src/config/jobstate.rs          | 258 ++++++++++++++++++++++++++++++++
 src/server/worker_task.rs       | 111 ++++++++++----
 www/config/SyncView.js          |  30 +++-
 11 files changed, 482 insertions(+), 156 deletions(-)
 create mode 100644 src/config/jobstate.rs

-- 
2.20.1





             reply	other threads:[~2020-08-13  8:29 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-13  8:29 Dominik Csapak [this message]
2020-08-13  8:29 ` [pbs-devel] [PATCH proxmox-backup v3 1/9] server: change status of a task from a string to an enum Dominik Csapak
2020-08-13  8:29 ` [pbs-devel] [PATCH proxmox-backup v3 2/9] server/worker_task: let upid_read_status also return the endtime Dominik Csapak
2020-08-13  8:29 ` [pbs-devel] [PATCH proxmox-backup v3 3/9] config: add JobState helper Dominik Csapak
2020-08-13  8:29 ` [pbs-devel] [PATCH proxmox-backup v3 4/9] api2/admin/sync: use JobState for faster access to state info Dominik Csapak
2020-08-13  8:29 ` [pbs-devel] [PATCH proxmox-backup v3 5/9] api/{pull, sync}: refactor to do_sync_job Dominik Csapak
2020-08-13  8:29 ` [pbs-devel] [PATCH proxmox-backup v3 6/9] api2/pull: extend do_sync_job to also handle schedule and jobstate Dominik Csapak
2020-08-13  8:29 ` [pbs-devel] [PATCH proxmox-backup v3 7/9] syncjob: use do_sync_job also for scheduled sync jobs Dominik Csapak
2020-08-13  8:29 ` [pbs-devel] [PATCH proxmox-backup v3 8/9] ui: syncjob: improve task text rendering Dominik Csapak
2020-08-13  8:29 ` [pbs-devel] [PATCH proxmox-backup v3 9/9] ui: syncjob: make some columns smaller Dominik Csapak
2020-08-13  9:52 ` [pbs-devel] applied: [PATCH proxmox-backup v3 0/9] improve syncjob handling Dietmar Maurer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200813082921.28946-1-d.csapak@proxmox.com \
    --to=d.csapak@proxmox.com \
    --cc=pbs-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal