Page MenuHomestyx hydra

No OneTemporary

diff --git a/scripts/mail/create_worker_tasks.php b/scripts/mail/create_worker_tasks.php
new file mode 100755
index 0000000000..8d6c805663
--- /dev/null
+++ b/scripts/mail/create_worker_tasks.php
@@ -0,0 +1,46 @@
+#!/usr/bin/env php
+<?php
+
+/*
+ * Copyright 2012 Facebook, Inc.
+ *
+ * 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.
+ */
+
+/*
+ * After upgrading to/past D1723, the handling of messages queued for delivery
+ * is a bit different. Running this script will take any messages that are
+ * queued for delivery, but don't have a worker task created, and create that
+ * worker task. Without the worker task, the message will just sit at "queued
+ * for delivery" and nothing will happen to it.
+ */
+
+$root = dirname(dirname(dirname(__FILE__)));
+require_once $root.'/scripts/__init_script__.php';
+
+$messages = id(new PhabricatorMetaMTAMail())->loadAllWhere(
+ 'status = %s', PhabricatorMetaMTAMail::STATUS_QUEUE);
+
+foreach ($messages as $message) {
+ if (!$message->getWorkerTaskID()) {
+ $mailer_task = new PhabricatorWorkerTask();
+ $mailer_task->setTaskClass('PhabricatorMetaMTAWorker');
+ $mailer_task->setData($message->getID());
+ $mailer_task->save();
+
+ $message->setWorkerTaskID($mailer_task->getID());
+ $message->save();
+ $id = $message->getID();
+ echo "#$id\n";
+ }
+}

File Metadata

Mime Type
text/x-diff
Expires
Fri, Aug 15, 3:38 AM (5 d, 23 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
191522
Default Alt Text
(1 KB)

Event Timeline