diff --git a/openpype/hosts/webpublisher/webserver_service/webserver_cli.py b/openpype/hosts/webpublisher/webserver_service/webserver_cli.py index 1208634544..45338a5925 100644 --- a/openpype/hosts/webpublisher/webserver_service/webserver_cli.py +++ b/openpype/hosts/webpublisher/webserver_service/webserver_cli.py @@ -140,7 +140,7 @@ def reprocess_failed(upload_dir, webserver_url): { "finish_date": datetime.now(), "status": "error", - "progress": 1, + "progress": 100, "log": batch.get("log") + msg }} ) @@ -162,6 +162,6 @@ def reprocess_failed(upload_dir, webserver_url): { "finish_date": datetime.now(), "status": "sent_for_reprocessing", - "progress": 1 + "progress": 100 }} ) diff --git a/openpype/lib/remote_publish.py b/openpype/lib/remote_publish.py index f0d73e2afe..dd5a3e2864 100644 --- a/openpype/lib/remote_publish.py +++ b/openpype/lib/remote_publish.py @@ -53,7 +53,7 @@ def start_webpublish_log(dbcon, batch_id, user): "start_date": datetime.now(), "user": user, "status": "in_progress", - "progress": 0.0 + "progress": 0 # integer 0-100, percentage }).inserted_id @@ -104,10 +104,13 @@ def publish_and_log(dbcon, _id, log, close_plugin_name=None): _id = ObjectId(_id) log_lines = [] + processed = 0 + log_every = 5 for result in pyblish.util.publish_iter(): for record in result["records"]: log_lines.append("{}: {}".format( result["plugin"].label, record.msg)) + processed += 1 if result["error"]: log.error(error_format.format(**result)) @@ -127,12 +130,14 @@ def publish_and_log(dbcon, _id, log, close_plugin_name=None): context = pyblish.api.Context() close_plugin().process(context) sys.exit(1) - else: + elif processed % log_every == 0: + # pyblish returns progress in 0.0 - 2.0 + progress = min(round(result["progress"] / 2 * 100), 99) dbcon.update_one( {"_id": _id}, {"$set": { - "progress": max(result["progress"], 0.95), + "progress": progress, "log": os.linesep.join(log_lines) }} ) @@ -144,7 +149,7 @@ def publish_and_log(dbcon, _id, log, close_plugin_name=None): { "finish_date": datetime.now(), "status": "finished_ok", - "progress": 1, + "progress": 100, "log": os.linesep.join(log_lines) }} )