from django.conf.urls import include, url
from lcm.pub.config.config import REG_TO_MSB_WHEN_START, REG_TO_MSB_REG_URL, REG_TO_MSB_REG_PARAM
+from lcm.pub.config.config import DEPLOY_WORKFLOW_WHEN_START
urlpatterns = [
url(r'^', include('lcm.samples.urls')),
import json
from lcm.pub.utils.restcall import req_by_msb
req_by_msb(REG_TO_MSB_REG_URL, "POST", json.JSONEncoder().encode(REG_TO_MSB_REG_PARAM))
+
+# deploy workflow when startup
+if DEPLOY_WORKFLOW_WHEN_START:
+ from lcm.workflows import auto_deploy
+ auto_deploy.deploy_workflow_on_startup()
--- /dev/null
+# Copyright 2017 ZTE Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+import logging
+import traceback
+
+from lcm.pub.database.models import WFPlanModel
+from lcm.pub.msapi import activiti
+
+logger = logging.getLogger(__name__)
+
+def deploy_workflow_on_startup():
+ try:
+ if WFPlanModel.objects.filter():
+ logger.warn("Workflow is already deployed.")
+ return
+ file_path = "TODO:"
+ deploy_info = activiti.deploy_workflow(file_path)
+ WFPlanModel(
+ deployed_id=deploy_info["deployedId"],
+ process_id=deploy_info["processId"],
+ status=deploy_info["status"],
+ message=deploy_info["message"],
+ plan_name="ns_instantiate").save()
+ logger.info("Deploy workflow successfully.")
+ except:
+ logger.error(traceback.format_exc())
+