Niharika29 has uploaded a new change for review.
https://gerrit.wikimedia.org/r/263572
Change subject: Submit updates via the job queue for PageAssessments
......................................................................
Submit updates via the job queue for PageAssessments
Bug:T121069
Change-Id: I51444fa543a75446bed3d950e166321736749c1d
---
M PageAssessmentsBody.php
A PageAssessmentsSaveJob.php
M extension.json
3 files changed, 51 insertions(+), 3 deletions(-)
git pull
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/PageAssessments
refs/changes/72/263572/1
diff --git a/PageAssessmentsBody.php b/PageAssessmentsBody.php
index 2843d2c..e37936a 100644
--- a/PageAssessmentsBody.php
+++ b/PageAssessmentsBody.php
@@ -56,10 +56,13 @@
'pa_page_revision' => $revisionId
);
if ( in_array( $project, $toInsert ) ) {
- PageAssessmentsBody::insertRecord( $values );
+ $values['job_type'] = 'insert';
} elseif ( in_array( $project, $toUpdate ) ) {
- PageAssessmentsBody::updateRecord( $values );
+ $values['job_type'] = 'update';
}
+ $job = new PageAssessmentsSaveJob( $titleObj, $values );
+ JobQueueGroup::singleton()->push( $job );
+
}
foreach ( $toDelete as $project ) {
PageAssessmentsBody::deleteRecord( $pageTitle, $project
);
diff --git a/PageAssessmentsSaveJob.php b/PageAssessmentsSaveJob.php
new file mode 100644
index 0000000..5bdec02
--- /dev/null
+++ b/PageAssessmentsSaveJob.php
@@ -0,0 +1,41 @@
+<?php
+/**
+ * Hooks for PageAssessments extension
+ *
+ * @file
+ * @ingroup Extensions
+ */
+
+class PageAssessmentsSaveJob extends Job {
+
+ public function __construct ( $title, $params ) {
+ parent::__construct( 'AssessmentSaveJob', $title, $params );
+ }
+
+ /**
+ * Execute the job
+ *
+ * @return bool
+ */
+ public function run () {
+ $jobType = $this->params['job_type'];
+ // Compile the array to be inserted to the DB
+ $values = array(
+ 'pa_page_id' => $this->params['pa_page_id'],
+ 'pa_page_name' => $this->params['pa_page_name'],
+ 'pa_page_namespace' =>
$this->params['pa_page_namespace'],
+ 'pa_project' => $this->params['pa_project'],
+ 'pa_class' => $this->params['pa_class'],
+ 'pa_importance' => $this->params['pa_importance'],
+ 'pa_page_revision' => $this->params['pa_page_revision']
+ );
+ // Perform updates
+ if ( $jobType == 'insert' ) {
+ PageAssessmentsBody::insertRecord( $values );
+ } elseif ( $jobType == 'update' ) {
+ PageAssessmentsBody::updateRecord( $values );
+ }
+ return true;
+ }
+
+}
diff --git a/extension.json b/extension.json
index 82e1927..0799e78 100644
--- a/extension.json
+++ b/extension.json
@@ -10,7 +10,8 @@
"type": "parserhook",
"AutoloadClasses": {
"PageAssessmentsHooks": "PageAssessments.hooks.php",
- "PageAssessmentsBody": "PageAssessmentsBody.php"
+ "PageAssessmentsBody": "PageAssessmentsBody.php",
+ "PageAssessmentsSaveJob": "PageAssessmentsSaveJob.php"
},
"ExtensionMessagesFiles": {
"PageAssessmentsMagic": "PageAssessments.i18n.magic.php"
@@ -31,6 +32,9 @@
"i18n"
]
},
+ "JobClasses": {
+ "AssessmentSaveJob": "PageAssessmentsSaveJob"
+ },
"ResourceFileModulePaths": {
"localBasePath": "",
"remoteExtPath": "examples/PageAssessments"
--
To view, visit https://gerrit.wikimedia.org/r/263572
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I51444fa543a75446bed3d950e166321736749c1d
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/PageAssessments
Gerrit-Branch: master
Gerrit-Owner: Niharika29 <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits