同订单两次

This commit is contained in:
邓皓元 2019-01-24 14:16:31 +08:00
parent 432dc7b3e7
commit f8bfcd7295
4 changed files with 20 additions and 14 deletions

View File

@ -38,9 +38,6 @@ class MongoSyncJob implements ShouldQueue
$this->page = $page;
$this->limit = $limit;
$this->utcDateTime = $utcDateTime;
set_time_limit(0);
ini_set('memory_limit', '4096m');
ini_set('default_socket_timeout', -1);
}
/**

View File

@ -40,9 +40,6 @@ class CardSyncJob implements ShouldQueue
$this->page = $page;
$this->limit = $limit;
$this->maxId = $maxId;
set_time_limit(0);
ini_set('memory_limit', '4096m');
ini_set('default_socket_timeout', -1);
}
/**

View File

@ -64,9 +64,6 @@ class LogSyncJob implements ShouldQueue
$this->page = $page;
$this->limit = $limit;
$this->maxId = $maxId;
set_time_limit(0);
ini_set('memory_limit', '4096m');
ini_set('default_socket_timeout', -1);
}
/**
@ -131,7 +128,7 @@ class LogSyncJob implements ShouldQueue
$counts = isset($relationArray[$k]) ? $relationArray[$k]['counts'] + 1 : 1;
$relationArray[] = [
$relationArray[$k] = [
'order_sn' => $sn,
'type' => $type,
'sim' => $value['sim'],
@ -175,7 +172,6 @@ class LogSyncJob implements ShouldQueue
$builder->connection->insert($sql, Arr::flatten($array, 1));
}
} catch (\Exception $e) {
DB::rollback();
Log::info("LogSyncJob ERROR #: maxId {$this->maxId} - page {$this->page}");

View File

@ -1,9 +1,11 @@
-- 创建序列
CREATE SEQUENCE IF NOT EXISTS "virtual_order_cards_partition_id_seq"
INCREMENT 1
MINVALUE 1
MAXVALUE 2147483647 START 1
CACHE 1;
-- 创建主表
CREATE TABLE "virtual_order_cards_partition" (
"id" int4 NOT NULL DEFAULT nextval('virtual_order_cards_partition_id_seq'::regclass),
"type" int2 NOT NULL DEFAULT 0,
@ -20,8 +22,10 @@ PARTITION BY
"type"
);
-- 序列
ALTER SEQUENCE "virtual_order_cards_partition_id_seq" OWNED BY "virtual_order_cards_partition"."id";
-- 备注
COMMENT ON COLUMN "virtual_order_cards_partition"."id" IS '关联表ID';
COMMENT ON COLUMN "virtual_order_cards_partition"."type" IS '订单类型0:基础套餐 1:套餐续费 2续费包 3:加油包 4:可选包 5:附加包)';
COMMENT ON COLUMN "virtual_order_cards_partition"."sim" IS 'SIM卡号';
@ -31,21 +35,25 @@ COMMENT ON COLUMN "virtual_order_cards_partition"."package_id" IS '套餐ID';
COMMENT ON COLUMN "virtual_order_cards_partition"."counts" IS '数量';
COMMENT ON TABLE "virtual_order_cards_partition" IS 'VD卡关联套餐订单';
-- 分区表
CREATE TABLE virtual_order_cards PARTITION OF virtual_order_cards_partition FOR VALUES IN (0);
CREATE TABLE virtual_order_renewal_cards PARTITION OF virtual_order_cards_partition FOR VALUES IN (1);
CREATE TABLE virtual_order_renewal_package_cards PARTITION OF virtual_order_cards_partition FOR VALUES IN (2);
CREATE TABLE virtual_order_flows_package_cards PARTITION OF virtual_order_cards_partition FOR VALUES IN (3);
-- 唯一索引
CREATE UNIQUE INDEX "virtual_order_cards_order_id_sim_deleted_at_unique" ON "virtual_order_cards" (order_id, sim, COALESCE(deleted_at, '1970-01-01 08:00:00'::timestamp));
CREATE UNIQUE INDEX "virtual_order_renewal_cards_order_id_sim_deleted_at_unique" ON "virtual_order_cards" (order_id, sim, COALESCE(deleted_at, '1970-01-01 08:00:00'::timestamp));
CREATE UNIQUE INDEX "virtual_order_renewal_package_cards_order_id_sim_deleted_at_unique" ON "virtual_order_cards" (order_id, sim, COALESCE(deleted_at, '1970-01-01 08:00:00'::timestamp));
CREATE UNIQUE INDEX "virtual_order_flows_package_cards_order_id_sim_deleted_at_unique" ON "virtual_order_cards" (order_id, sim, COALESCE(deleted_at, '1970-01-01 08:00:00'::timestamp));
CREATE UNIQUE INDEX "virtual_order_renewal_cards_order_id_sim_deleted_at_unique" ON "virtual_order_renewal_cards" (order_id, sim, COALESCE(deleted_at, '1970-01-01 08:00:00'::timestamp));
CREATE UNIQUE INDEX "virtual_order_renewal_package_cards_order_id_sim_deleted_at_unique" ON "virtual_order_renewal_package_cards" (order_id, sim, COALESCE(deleted_at, '1970-01-01 08:00:00'::timestamp));
CREATE UNIQUE INDEX "virtual_order_flows_package_cards_order_id_sim_deleted_at_unique" ON "virtual_order_flows_package_cards" (order_id, sim, COALESCE(deleted_at, '1970-01-01 08:00:00'::timestamp));
-- 服务周期索引
CREATE INDEX "virtual_order_cards_timelines_index" ON "virtual_order_cards" USING GIN (timelines_array(sim));
CREATE INDEX "virtual_order_renewal_cards_timelines_index" ON "virtual_order_renewal_cards" USING GIN (timelines_array(sim));
CREATE INDEX "virtual_order_renewal_package_cards_timelines_index" ON "virtual_order_renewal_package_cards" USING GIN (timelines_array(sim));
CREATE INDEX "virtual_order_flows_package_cards_index" ON "virtual_order_flows_package_cards" USING GIN (timelines_array(sim));
-- 增删改卡表时更新索引
CREATE OR REPLACE FUNCTION REINDEX_TIMELINES ()
RETURNS TRIGGER
AS $$
@ -71,3 +79,11 @@ OR DELETE
ON cards
FOR EACH ROW
EXECUTE PROCEDURE REINDEX_TIMELINES ();
-- 优化多核心建立索引
ALTER TABLE virtual_order_cards SET (parallel_workers = 4);
ALTER TABLE virtual_order_renewal_cards SET (parallel_workers = 4);
ALTER TABLE virtual_order_renewal_package_cards SET (parallel_workers = 4);
ALTER TABLE virtual_order_flows_package_cards SET (parallel_workers = 4);
SET max_parallel_maintenance_workers TO 4;
SET maintenance_work_mem TO '2GB';