電影流水帳(2016/4/14~2016/4/30)

Diana Lane 在 Under the Tuscan Sun 這張電影海報裡的笑容很漂亮,前幾年在鋼鐵英雄裡看到她演超人的養母才驚覺到她也有一定的年紀了。

  • World War Z (IMDB, Wikipedia),台譯:末日之戰。蠻有意思的故事,Brad Pitt 飾演一個為了家庭而退休的記者,擁有敏銳的觀察力。
    這是一個慵懶的早晨,兩個女兒跳到床上叫父母起床了,爸爸 (Gerry) 媽媽很開心的起床看著兩個調皮的女兒,非常溫馨的景象。但是就在邊吃早餐邊看新聞時,發現有大事發生,Gerry 跟妻子不以為意。在送女兒上學的路上塞滿了車子,Gerry 注意到街上的情況不太對勁,他們趁著垃圾車衝過去的空檔,跟著往外衝,不幸的是車子翻了。在車子翻覆的時候,Gerry 看到了一個僵屍咬到另外一個人以後,在很快的時間內,那個人就變成了另外一個僵屍。Gerry 一家人很幸運的沒事,並且逃離。在邊逃離的過程,Gerry 跟以前的舊長官連繫,並約定好地點碰面。
    Gerry 一家人逃到一棟大樓,有一戶人家幫助了他們。度過驚魂的一晚後,Gerry 感念他們的幫助,邀請他們一起逃走,但他們不肯。Gerry 一家人往樓頂走,快到樓頂的時候,看到這一家人的兒子緊跟在後,Gerry 就順便帶著他一起走了。
    Gerry 一家人來到聯合國,前長官跟他大致說明了一下情況。韓國發生奇怪的病情,這個病是靠著咬人傳播,會導致人變成跟僵屍一樣可怕,病情蔓延的很快,一發不可收拾,聯合國正在調查這個病的原因並試圖找出治療方法。前長官需要 Gerry 幫忙調查,所以才接 Gerry 過來,以家人的安危做條件要求 Gerry 幫忙聯合國進行調查。
    Gerry 為了家人,只能答應這個條件,於是他就跟聯合國調查小組一同到韓國去,到了韓國,結果調查小組的博士出了意外,死了。Gerry 大致了解韓國狀況以後,隨即趕往以色列,去了解為什麼以色列能提早防範。到了以色列,總理告訴 Gerry ,是因為他們攔截了印度的消息才知道有這個病,並且講了一件事情,就是他們以前有遇過狀況,所以決定當前面九個人都投下同意票時,也就是這九個人都認為應該不會有問題的時候,第十個人必須投下反對票,並且要為此做好準備。他們只是因為這樣而提早做了防範,然後很幸運的派上用場。Gerry 在以色列又再次發現了怪事,居然一群僵屍會繞過一個小鬼,不理會他往前跑。
    以色列雖然蓋了高牆防範,不過還是逃不掉僵屍的襲擊,Gerry 一行人開飛機逃離,在飛機上,Gerry 決定去瑞士的一個醫療中心,就在快要抵達時,因為僵屍攻擊墜機了。Gerry 跟女兵被醫療中心的人救起,經過兩三天,Gerry 醒來,醫療中心的人跟 Gerry 說明了情況,Gerry 也跟他們討論之後,Gerry 認為僵屍會自動避開不健康的人類個體,因此可以試試看把這些疾病的病菌注射到身上,這樣僵屍就不會攻擊人。醫療中心的人一致同意,可是,這些病毒的樣本放在另外一棟大樓,而該棟大樓已經被一群僵屍佔領了。Gerry 決定冒著危險去拿,經歷一番冒險,Gerry 到了病毒樣本室,可是外面也跟著一個僵屍。Gerry 不得已,只好賭一下,隨便拿了一個病毒樣本注射到身上,很幸運的,僵屍真的不再攻擊他了。Gerry 拿著樣本回到原來的大樓,並且通知聯合國來接人,於是就這樣防止了人類繼續被感染,並爭取到研究僵屍病毒的時間,Gerry 與家人也團聚。
  • Under the Tuscan Sun (IMDB, Wikipedia),台譯:托斯卡尼艷陽下。蠻好看的電影,電影裡某種程度的反映了義大利人的直白,記得有一幕 Frances 在屋子裡哭著跟仲介訴苦,結果仲介跟他說,好了,再講下去可能就要做愛才行了,可是我已經有太太…
    Frances 是個作家,男友劈腿,她接受了是同性戀的好友 Patti 的建議,遠走他鄉,來到義大利的 Tuscan。Tuscan 是個鄰近佛羅倫斯的小鎮,風景很美,氣候宜人。Frances 買下了一間房子,找了人來裝修,在裝修房子的過程中,她從這些新的朋友、鄰居中,慢慢站起來,找回往日的自信與步調。沒多久,Frances 認識了男友,然後懷孕的 Patti 跑來找她。原來 Patti 跟她的女友分手了,想起了 Frances,就過來找她。
    日子看起來是一天比一天順利了,不過故事總是有轉折,有天 Frances 興沖沖的跑去找男友,結果發現男友劈腿了。Frances 很難過的回去,覺得萬念俱灰了。這時候,小情侶 (年輕的裝修工人與鄰居的女兒) 鬧著要出走,Frances 出面幫忙談成親事;然後好友 Patti 剛好臨盆。一些事情折騰下來,最後 Frances 發現這不就是她之前想要的嗎?房子有人結婚 (小情侶),有了一個家庭 (有了好友 Patti 跟孩子),也有好友圍繞,於是她把心裡的那個結給放下了。
  • 陀地驅魔人 (IMDB, Wikipedia)。個人覺得結尾交代的不好,前面都鋪陳的很好,後面硬生生插入人鬼戀的部份,蠻愕然的。
    發仔能看到鬼,幫人趕鬼維生。某天記者紫寧看到朋友幫發仔拍的趕鬼影片,對發仔很感興趣,就去採訪發仔,不過卻碰了軟釘子。接著就透過記者與趕鬼的過程,慢慢帶出同住的女鬼阿雪與陰沉的惡鬼黑哥的故事。與女鬼阿雪的緣份是從小就開始,從發仔媽媽帶著發仔住進來,阿雪就發現發仔有陰陽眼,能看到她,之後,媽媽自殺,就剩下發仔與阿雪相依為命,發仔也從阿雪身上學到趕鬼的技巧。而黑哥則是因為被警察陷害而全家被燒死,黑哥想找出當時害他的警察,就四處找能通靈的師父幫忙,如果不幫忙,就下手殺人。發仔試圖化解黑哥與警察的惡緣,但始終沒辦法。後來是透過自殺,和阿雪到陰陽交界處找到黑哥的太太回來,才成功的化解惡緣。
    最後就是我說的結尾交代不好的地方了,阿雪附身到紫寧身上,跟發仔快樂的度過一天後,轉世了。喔,對了,在電影中間的地方,黑哥有提到發仔其實早已經算死掉了,到了電影中後段,交代了真相,原本是發仔跟媽媽都死於跳樓,但阿雪阻止了這件事情的發生,以自己轉世的時間交換了發仔的生命。
  • 九層妖塔 (IMDB, Wikipedia)。拿鬼吹燈之精絕古城來當作故事的主軸,前面我覺得鋪陳的還不錯,只是到後面整個就散了。故事的最後暗示了有續集的可能性,不過會有續集嗎?
    電影一開始先交代了胡八一的過去,胡八一參與了在崑崙山的考古行動,被教授帶去找神祕的九層妖塔。在考古行動中與教授的女兒楊萍互生好感,慢慢走到了一起。然後他們發現了九層妖塔,原來教授帶胡八一跟楊萍來的目的是為了要打開九層妖塔,要阻止鬼族人在一定年紀就自燃的命運。就在妖塔即將被打開的時候,胡八一的長官孫連長阻止了這件事情,孫連長表面上是連長,其實是守墓者,有不讓鬼族九層妖塔被打開的使命。妖塔被阻止了,胡八一、楊萍與教授,三人被鬼蝠追著跑,逃命的最後只有一個斷崖,只能選擇跳下。這一跳,三人掉到懸崖底下。過了好一陣子以後,只有胡八一被救了起來,其他兩人都消失無蹤。胡八一恢復了以後,被分派到北京的某個圖書館。
    胡八一在圖書館裡,不時會收到鬼族的資料,他非常的好奇,卻又找不到是誰。輾轉過了幾年,中國頻仍地出現異象,人們不知道原因。楊萍跟教授在某次的異象中,橫空出世了,但官方隱瞞這消息。直到後來,教授失蹤,官方決定派出探險隊,才又找了胡八一,加上找到的楊萍重新組成探險隊。但奇怪的是,楊萍已經忘了胡八一。
    探險隊來到石油小鎮,遇見了兇猛的異獸,就開打了啊。打著打著,胡八一遇見奇怪的事情,總之這交代了不少事情,異獸是楊萍控制的。胡八一殺死了楊萍,楊萍在最後恢復了神智,交代了前因後果。在掉下斷崖時,胡八一其實已經死了,楊萍是鬼族的人,從小就有起死回生的能力,教授也是為此,想讓女兒擺脫鬼族自燃的命運。楊萍為了愛,用自己的能力讓教授跟胡八一復活,卻也讓自己的身體變成空殼,被他人佔用。最後,就交代胡八一要找到她的父親。

除了電影以外,還看完了孤獨的美食家第五季,每次看主角在吃東西都有一種療癒的感覺,不過這個影集沒辦法連續看,畢竟每集的結構都一樣,連續看會有枯燥的感覺。偶爾看一下,真的很療癒。

Celery Best Practice 筆記

邊看這篇 Celery – Best Practices 邊做的簡單摘錄與筆記。

  1. 不要用資料庫當作 AMQP Broker。Celery 會建立數個 process 去 poll 資料庫來檢查是否有新的工作,這會導致資料庫的 disk I/O 增加,也會增加對資料庫的連接數目。
  2. 使用更多佇列 (不要只用一個)。
    並不是所有的 task 執行時間、次數跟權重都一樣,例如不重要的 task A 可能會執行很多次,但比較重要的 task B 只有零星幾個。一個佇列會導致 Celery 依序執行佇列裡的工作,所以前面可能會排了很多 task A 工作,就多花了許多時間執行,反而重要的 task B 工作延後了。依照 task 分佇列擺放,可以避免這樣的情況。
  3. 使用權重。Celery 可以針對佇列設定權重與分流,可以使用專門的 worker 來服務指定的佇列,讓 task 得到更好的服務。
    
       CELERY_QUEUES = (
        Queue('default', Exchange('default'), routing_key='default'),
        Queue('for_task_A', Exchange('for_task_A'), routing_key='for_task_A'),
        Queue('for_task_B', Exchange('for_task_B'), routing_key='for_task_B'),
       )
       CELERY_ROUTES = {
        'my_taskA': {'queue': 'for_task_A', 'routing_key': 'for_task_A'},
        'my_taskB': {'queue': 'for_task_B', 'routing_key': 'for_task_B'},
       }
    
    
       celery worker -E -l INFO -n workerA -Q for_task_A
       celery worker -E -l INFO -n workerB -Q for_task_B
    
  4. 使用 Celery 的錯誤處理機制。task 可以指定這些參數 default_retry_delay=300, max_retries=5 來指定重試間隔與重試次數。task 裏面只要使用 try…except 跟 self.retry 就可以了。
    
       @app.task(bind=True, default_retry_delay=300, max_retries=5)
       def my_task_A():
         try:
           print("doing stuff here...")
         except SomeNetworkException as e:
           print("maybe do some clenup here....")
           self.retry(e)     # Retry!
    
  5. 使用 Flower。這是一個只要裝上就能使用的 Module,可以用來觀察 Task/Queue 的狀況。
  6. 只有在真的需要時,才保留執行結果。不需要的話,就加上 CELERY_IGNORE_RESULT = True,Celery 會自動丟棄結果。
  7. 不要傳遞 ORM 物件給 task。這是因為 Celery 是用 serialization 方式來傳遞參數到別的 Process (Task 是在其他的 Process 上執行),預設可以使用 pickle, cPickle, JSON, YAML ,但是 serialization/deserialization 是有負擔的,而且不保證所有狀態都能保存,建議最好是 pure 的物件或是用整數、字串等比較不容易出狀況的型態。

電影流水帳(2016/3/21~2016/4/13)

zooey

Zooey Deschanel 這幾年比較沒演電影了,她讓我印象最深刻的兩部電影是 500 跟 Yes Man,那種古靈精怪,有點讓人難以捉摸的性格很令人著迷。

  • Pixels (IMDB, Wikipedia),台譯:世界大對戰。1982 年,NASA 發射了膠囊到太空去,結果讓外星人以為是宣戰,於是派軍到地球來。美國總統看到外星人的入侵,判斷這絕對需要兒時愛打電玩的好友 Sam 幫忙,於是就找來跟美國陸軍的  Lieutenant 合作。一開始的合作並不順利,兩邊並不信任,還好經過兩三次的合作以後,漸入佳境,Sam 也找了其他兒時一起玩電玩的朋友來幫忙。在玩 PAC MAN 時,找來的好友 Eddie 以作弊方式贏了外星人,外星人認定地球人算輸,於是就無視之前講好的規則,開始大肆破壞,並擄走  Lieutenant 的兒子。美國陸軍也認定 Sam 他們幫不了忙了,就改用自己的方式進行抵禦。
    Sam 與伙伴們則不放棄,決定直搗黃龍,進入外星人的要塞,結果遇到 Sam 兒時的心理障礙遊戲 – 大金剛,花了九牛二虎之力,Sam 克服了兒時的障礙,闖關成功,不但救出  Lieutenant 的兒子,也與外星人講清楚,化解了誤會。最後,外星人離開,Sam 與伙伴們也都心想事成。
    整體來說,沒特別好看,但也不會特別難看,普普通通。
  • Jack Reacher (IMDB, Wikipedia),台譯: 神隱任務。還蠻精彩、懸疑的電影,不過 Reacher 有點太神了。
    有人冒充 Barr 殺了人,Barr 被逮了以後,沒說什麼,只說想見 Jack Reacher。Reacher 看到新聞以後,自己上門找 FBI,在跟辯護律師 Helen 聊過以後,發現整件事情有點奇怪,於是跟 Helen 一起展開調查。在逐步的調查以後,兩人發現 Barr 是被冤枉的,事情沒想像中那麼簡單。整件事情其實是要爭奪公司經營權,但是殺手為了偽裝成隨機殺人,所以順便殺了附近的幾個人,並故意留下線索,讓人找到 Barr。最後 Reacher 智勇雙全的找到兇手,本來打算要讓法律制裁的,但是主謀的幾句話,讓 Reacher 改變了念頭,自己開槍制裁了這些人。
  • 破風 (IMDB, Wikipedia)。原本有點期待這部電影的,看了之後有一點點小失望,騎乘腳踏車的部份很有真實感,很熱血,但是在故事的發展上有點弱。
    本來在同一車隊的伙伴,仇銘、鄭知元、邱田,因為車隊失去金援,就各自到別的車隊去發展。仇銘發展的不錯,也跟詩瑤談了戀愛,可是對於求勝過於執著,忘記了要跟隊友與詩瑤好好相處。邱田執著於當衝線王,但受限於體能,始終無法突破,後來流落到韓國去。詩瑤在跟仇銘分了以後,被邱田熱烈的追求過一陣子,但不幸發生意外,小腿受到影響。仇銘為了愛,捐出自己的肌腱,讓詩瑤恢復。鄭知元應該是發展的最好的,一直被仇銘追趕,後來感念以前教練的幫忙,甚至幫忙找到資助,重新成立車隊。
    新的車隊找回仇銘跟邱田,在國際比賽上與鄭知元的隊伍展開競爭,最後的比賽,仇銘跟邱田打敗了鄭知元,但三人沒有反目成仇,反而更加惺惺相惜。
  • 財神客棧 (IMDB, Wikipedia)。故事有點弱弱的,剛好看到,就打發時間。
    兩個實習捕快龔少爺和老巴,功夫不錯,也有不錯的推理頭腦。城裡的白玉觀音不見了,兩人一起做了調查。後來,朝廷的鐵無情來做正式的調查了,兩人鉅細靡遺地將調查報告轉告給鐵無情,但卻被鐵無情否決,並且透露一些口風,讓人逮捕他們兩人。(其實從這邊就可以猜到鐵無情是幕後主謀了)
    兩人在獄裡認識了火龍女跟水龍女,並透過二人幫忙,逃出監獄。於是四人一起展開調查真兇的冒險,在路上又遇到聞問切,就變成五個人一起到財神客棧去。在財神客棧裡一番短兵相接(打打鬧鬧),終於發現鐵無情就是主謀,於是展開一場大混戰,最後當然是喜劇收場。
  • Yes Man (IMDB, Wikipedia),台譯:沒問題先生。我覺得很勵志的一部電影,查了維基百科才知道,這電影是改編自小說,Jim Carrey 再次選到好劇本。
    Carl 是個不想跟外界生活有所牽扯的一個人,在意外被拉去參加演講以後,答應主講人 Terrence 要對每件事情說 Yes,說 No 的話就會倒大楣。結果說 Yes 這件事情徹底改變了 Carl 的生活,他開始願意幫助朋友,參加朋友的聚會,積極的上課。他發現他的生活變得愈來愈好,而且還認識了真命天女 Allison。
    在一切看似很順利的時候,Carl 跟 Allison 到機場打算再次展開意外的旅行,卻被 FBI 逮捕,還好當律師的朋友幫忙,兩人才脫困。可是這次讓 Allison 知道 Carl 是因為 Yes 而說 Yes,Allison 糊塗了,她搞不清楚 Carl 是真的說 Yes 還是假的說 Yes,就很生氣的分了。Carl 開始思考到底說 Yes 是對的還是錯的,他開始有點鑽牛角尖了。
    後來 Carl 找到 Terrence ,詢問他關於每件事都說 Yes 是對還是不對,透過 Terrence 的說明,Carl 明白了 Yes 或 No 並不是那麼重要,而是面對外界事物的心態上要有所改變。於是他衝去找 Allison ,講清楚整件事情,兩人復合,快樂的大結局。